it)
COMPUTE
AUGUST 1993
SPECIAL REPORT!
PLUS!
HP's LASERJET 4
WARS OF THE DISTANT PAST
DESKTOP FORGERY
Eicle sle‘e's oete » seis oc ewere
FAST, POWERFUL, a
AND EASY TO USE! :
2]
64/128 VIEW
A veteran 128 publication turns its
editorial eye on the 64 with the launching
of Twin Cities 128/64.
Tom Neisel
azette celebrated its
tenth anniversary
when the July issue
rolled off the presses.
That's almost 120 issues.
(We missed a couple during
the summer of 1990.) RUN
made it to issue 99 before it
closed its final page.
Computer magazines
come and go, and those
that hitch their editorial wag-
ons to one machine often
experience a meteoric ride.
Some flash onto the scene,
burn brightly, and then fizzle
away; while others maintain
a steady glow.
Gazette started its associa-
tion with the 8-bit Commo-
dores by focusing on the
VIC-20 and the 64, adding
coverage of the Plus/4, 16,
and 128 when those ma-
chines came along. When
the 64 and 128 emerged as
the leaders, we followed the
numbers and concentrated
our coverage on those ma-
chines. Surveys tell us that
70 percent of you own 64s,
Few publications have de-
voted coverage exclusively
to the 128. Twin Cities 128
was the exception. Founded
by Loren Lovhaug in 1985,
TC 128 was primarily a tech-
nical publication that ap-
pealed to 128 program-
mers. It had its fans, but
they were not enough to
keep it in operation. It fold-
ed in 1991.
And then along came
John W. Brown, president of
Parsec. He bought the
rights to the magazine a few
months later and resumed
publication. Coverage at
that time was still limited to
the 128.
When RUN died last
year, Brown figured that his
publication should offer
some support to 64 owners
in addition to the 128
crowd. So with issue num-
ber 33, Brown launched the
new Twin Cities 128/64. Pro-
duced on a 128-D with a la-
ser printer, TC 128/64 de-
votes about half of its 56 pag-
es to each machine. Look
for reviews, articles, GEOS in-
fo, and technical pieces, but
don't expect a large number
of type-in programs.
The cost for U.S. subscrib-
ers is $24 for six issues, The
magazine and companion
disk cost $40. To subscribe
or for more information,
write to Parsec, P.O, Box
111, Salem, Massachusetts
01970-0111. You can also
write for a free copy of the
magazine.
In addition to Twin Cities
128/64, Parsec offers a vari-
ety of disks, fonts, GEOS
graphics, and other prod-
ucts for 64 and 128 users.
S!Dplayer fans should note
that COMPUTE has sold the
exclusive distribution rights
to the book and disk to Par-
sec. That book/disk combina-
tion should be repackaged
and for sale by now.
In “Upgrading Without
Changing Platforms” (June
1993), it was reported that
Parsec had dropped plans
to produce a board that
would let a 128 operate at 6-
12 MHz. Well, that wasn't en-
tirely accurate. Brown told
me that the company work-
ing on the prototype had
dropped it, but he still in-
tends to produce it—and
one for the 64 as well.
Brown says the product
is now an external cartridge,
CMD compatible, that will
plug into the expansion
port. It will probably use a
65C816 chip and operate at
12 MHz. The cost is expect-
ed to be about $200. im)
GAZETTE
64/128 VIEW
G-]
A veteran 128 publication now covers the 64, too.
By Tom Netsel.
REACH OUT AND WRITE
G-3
Telecommunications can ease the loneliness of writing.
By Karl R. Witsman.
REVIEWS
G-10
KeyDOS ROM Version 2 and Risers and Sliders.
FEEDBACK
Questions, answers, and comments.
PD PICKS
Mille Bornes and Maximum Overdrive.
By Steve Vander Ark.
G-14
G-16
MACHINE LANGUAGE
Delete extra Returns that cause file to crash.
By Jim Butterfield.
PROGRAMMER’S PAGE
Celebrate this column's fifth anniversary.
By Randy Thompson.
BEGINNER BASIC
Using BASIC to solve a homework assignment.
By Larry Cotton.
G-18
G-20
G-22
GEOS
G-23
Import graphics into your geoPublish documents.
By Steve Vander Ark.
D’IVERSIONS
G-24
How the Multimedia Road Warrior got his name.
By Fred D'Ignazio.
PROGRAMS
32 Sprites (64)
Midway Command (64)
Chase (64)
Memory Monitor (64)
Cubic (64)
The Automatic Proofreader (64/128)
G-25
G-31
G-34
G-37
G-38
G-40
AUGUST 1993 COMPUTE
G1
Writing is a solitary activity, but it
doesn't have to be a lonely one
if you use your computer to network
with other writers.
By Karl Witsman
of power a computer gives you—
power that you never had with a
typewriter. But if you use your 64 only
for word processing or the occasional
game of Space Invaders, you haven't
explored its most powerful use.
There's a great force out there just
waiting for you to tap into it with your
computer and modem. It’s called net-
working, and it can multiply your com-
puting power and help your writing!
Most folks using computers have
heard of BBSs or bulletin board sys-
tems, The popular notion of a BBS run
by a teenaged hacker may have
some validity, but many systems are
run by serious computer enthusiasts,
computer clubs, schools, and bus-
inesses. Some are created for fun;
others have a more serious intent. All
require a modem to connect your
computer to a telephone line.
Running any BBS can be trouble-
some and is definitely time-consuming
for the owner or system operator
(sysop). These are labors of love,
since most BBSs bring in no money.
Sysops usually appreciate any help
they can get, even if it's only through
the messages posted by callers, but
volunteers can help in other ways as
well. Many boards have areas devoted
to special topics, and often these
areas are directed by outside sysops. |
have volunteered on more than one of
my local boards to form a writers’ area.
This is a place where local writers can
converse about literary topics, and this
is the place where networking comes
into play.
I. you're a writer, you know what kind
A Waiters BBS
To share the fun and information,
try to find a BBS in your local area.
If you can't locate one with a
writer's SIG, here are some you
might want to try. Several of these
BBSs have specific writing areas.
All allow access up to at least 2400
bps and run 24 hours.
e Almost Paradise, Oakwood,
Illinois; (217) 354-4711. The sysop
is Christy Blew. Leave a message
for Karl Witsman, user number 56.
If | can find more BBS/writing infor-
mation, I'll reply with it here.
e Electronic Pen BBS, Harrington
Park, New Jersey; (201) 767-6337.
e Data Central, Indianapolis,
Indiana; (317) 543-2007.
e Heartland Free-Net, Peoria,
Illinois; (809) 674-1100.
e Unique and Nifty BBS, Craw-
fordsville, Indiana; (317) 364-9600.
e Voyager BBS, East Lansing,
Michigan; (517) 641-4367.
For additional BBS sources, try
these publications or bulletin boards.
e BBS Callers Digest, 701 Stokes
Road, Medford, New Jersey 08055.
Its BBS is The Livewire at (609) 235-
5297.
e Boardwatch Magazine, 5970
South Vivian Street, Littleton,
Colorado 80127. Its BBS number is
(303) 973-4222.
e /nfomat Online Weekly PC News
Magazine. For information about BBSs
everywhere, call (913) 478-9239.
Write Here
On a BBS, writers can discuss any-
thing, such as the mechanics of manu-
script preparation, agents, who us-
es/hates outlines, how to query about
possible articles, or how to deal with
deadlines. Some topics are even more
involved, such as “Where does this sex
scene fit into the story?” or “How do |
show my character's thinking process-
es?” For questions that have no simple
answers, the opinions of other writers
can often prove helpful. If you're not a
member of a writing group that meets
in person, this electronic connection
may be the only way to pick the brains
of others in your field.
Three Approaches
There are three main ways to con-
verse on a BBS. The first is simply to
leave a message in a general mes-
sage area and let other:callers read
and respond to it. In most cases,
other callers can respond on the
same message area or send you a
private reply through electronic mail.
The second method of exchanging
information with other computing writers
is through SIGs (Special Interest
Groups). As their name implies, these
areas concentrate their focus on a spe-
cific topic of interest and one could be
devoted to writers.
Echo, Echo
The third, and most sophisticated,
method of communicating on local
BSSs is Echo messaging. Echoes are
a number of BBSs that form a net-
Whiters' Forums
The commercial online services offer
a variety of opportunities for writers
to meet and exchange ideas. Here's
a sampling of what's available.
GEnie
401 N. Washington St.
Rockville, MD 20850
(800) 638-9636
Jack Smith, screen name
Writers.Ink, runs the Writer's Round-
table. The nonfiction group meets
Wednesdays at 9:30 p.m. General
Writing meets Sundays at 9:30 p.m.,
and the Poetry Meeting is held on
Tuesdays at 10:00 p.m. Romance
Writing meets Thursdays at 9:00 p.m.
All times are Eastern Time.
QuantumLink
8619 Westwood Center Dr.
Vienna, VA 22182-9897
(800) 782-2278
The Writers’ Forum meets every
Tuesday at 10:00 p.m. ET. Contact
Karl Witsman, whose screen name is
KarlW3.
The Writers’ Forum consists of a
very imaginative bunch. After the
main topic has been thoroughly dis-
cussed, the group talks about current
writing projects and other topics.
DELPHI
3 Blackstone St.
Cambridge, MA 02139
(800) 544-4005
The DELPHI Writer's Group is for
all writers of fiction or nonfiction. “We
do admit to being a bit mercenary
about writing at times, but of course
that’s all a part and parcel of getting
into print—our primary interest here!”
says the introductory text. Features
include a Critique Network and a
special database for writers’
résumés, plus public domain and
shareware software for writers.
Members are also eligible for special
discounts on books, products, and
supplies for writers. There are spe-
cial databases for poets, screenwrit-
ers, and fiction and nonfiction mag-
azine and book authors
Poetry Conference meets Tues-
days at 9:00 p.m. ET, and the
Creative Writing Workshop is held
Monday nights at the same time.
Contact persons are Ralph Roberts,
whose screen name is Author, and
Michael A. Banks, whose screen
name is Kzin.
CompuServe
5000 Arlington Centre Blvd.
Columbus, OH 43220
(800) 848-8199
CompuServe has a Desktop
Publishing Forum, a Desktop Vendor
Forum, and Journalism Forums.
Contact Don (76711,437) or Thom
(76702,765) for more information
about items of interest to writers.
G-4 COMPUTE AUGUST 1993
=.)
PUMP UP
YOUR PRODUCTIVITY!
Harness the potential of your, The Gazette Graphics
64 and 128 with these , ae
powerful programs.
Get more work out of your 64 and 128
with these two new disk products from
COMPUTE's Gazette — the 1992
Best of Gazette Utilities, and
the Gazette Graphics Grab
Do it all with Commodore
graphics!
Here's what's on it—
Starburst Graphics,
Screen Designer 128,
128 Graphics Compactor,
64 Animator, VDC Graphics,
Dissolve 128, Super Slideshow,
128 Animator, 1526 PrintScreen,
Supratechnic, Medium-Resolution
Bag! Graphics, Screen Maker, GAS!64—
The 1992 Best of Special Edition, GAS!128-Special
Gazette Utilities Edition.
Seize control of your operating
system and your world!
Here's what's on it-MetaBASIC 64,
MetaBASIC 128, Quick, Sprint Il,
Ultrafont+, RAMDisk 64, RAMDisk 128,
BASSEM, SciCalc 64, List Formatter,
MegaSqueeze.
Extend Your Computer Power With This Powerful Software!
___ Check or Money Order _ MasterCard _ VISA
| want to pump up my productivity! Please send me the ;
@ disks checked below at $11.95 each. Credit Card No. Exp. Date
ae Signature
___The 1992 Best of Gazette Utilities (Required)
_— The Gazette Graphics Grab Bag Daytime Telephone No.
__— Subtotal Name |
__ Sales Tax (Residents of NC and NY please add appropriate sales tax for your
area. Canadian orders, add 7% goods and services tax.) Address
___ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City
airmail per disk.)
State/Province ZIP/Postal Code
_— Total Enclosed
Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200,
MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408.
work. Most of these networks are set
up by sysops who know sysops in
other towns. Using this system, a
writer in Connecticut might leave a
message on his or her local BBS,
Around 3:00 a.m., the Connecticut
BBS might call a BBS in New York
and exchange messages, being care-
ful to keep the writing messages
separate from those dealing with
computers, sports, and other topics.
The New York BBS might then call a
BBS in Ohio and repeat the process.
In this way, the messages echo
around the country.
When | call my local board, | can
read the message posted by the Con-
necticut writer and respond to it. Writ-
ers all around the country have an op-
portunity to respond, and these
responses are entered into the net-
work. In a day or so, after the BBSs
exchange messages again, the
Connecticut writer can read the re-
sponses, as can all of the other writ-
ers on the network.
One such echo is the National Writ-
ers Echo. | was a local monitor here in
Danville, Illinois, on the Friendship
BBS, which was run, before his death,
by Terry Claybaugh. Through this net-
work, | exchanged messages with
many writers of varying degrees of
fame, including Billie Sue Mosiman
(author of Wire) and John DeChancie
(author of the Starrigger series and the
Castle Perilous series).
Such free exchanges of infor-
mation and opinions with other work-
ing writers can expand your knowl-
edge and help you keep track of up-
to-the-minute publishing trends. All
messages and mail are automatically
date-stamped, so you can ignore old
information and be aware of the most
recent updates and changes.
REF# 432
POSTED: 04-20-91
FROM: Karl R. Witsman
TO: All
Writers, I'm steaming mad! The U.S.
Copyright Office has raised the copy-
right fee from $10 to $20 to register
our works! This may be fine for those
who write nothing but books, but for
those of us wishing to register short
stories or articles, it's an outrage.
Next time we must not let this happen;
next time we must unite and apply our
skills in written communication in let-
ters to the Copyright Office, Con-
gress, and the president. At five cents
a word in a pulp publication, it takes a
lot of words to earn $20. Let them
charge bigger fees for books, and
even bigger fees for screenplays that
are being produted into movies, but
leave writers of features some slack. If
you would like to vent your spleen, as
| just did, be sure to talk to the right
people—those at the following
address: Copyright Office, Library of
Congress, Washington, DC 20559.
As you can see, a BBS can also be
a good way to blow off steam and let
others know how you feel about
trends in the field. Let's face it, writing
is a solitary profession, but it doesn't
have to be lonely if you can reach out
and telecommunicate with someone.
Bigger and Better
Commercial online services are the
big alternatives to local boards. These
are not custom networks, but gigantic
groups serving thousands of
subscribers with varying interests. As
the word subscriber suggests, these
services cost for membership.
Some examples of such services
are DELPHI, CompuServe, Quantum-
Link, America Online, GEnie, and BIX
(Byte Information eXchange). Each
service has its own pricing structure
and fees, so a call to each would be a
good idea for potential subscribers.
Practically all of the major services
have at least one area designated for
writers. In some, you post a message
as you do on a local BBS and then
return in a few days to read the
replies. Many services also offer areas
for immediate writing discussions. This
Publier Ge Online
Have you ever written an article and
then spent months mailing it from
publisher to publisher? Now you can
submit your manuscripts electroni-
cally through a groundbreaking step
in publishing by Manuscript Mar-
keting Technologies Incorporated.
MMTI is not like other BBSs and
online services. It offers writers a
unique opportunity to submit articles
or stories which are then offered to
publishers electronically. More than
500 authors from all over the world
have availed themselves of this ser-
vice so far, as have 140 publishers
from the U.S. and Canada.
Submissions can be made
through special software for IBM
compatibles which automates the
process and records the article or
story on disk. Macintosh users can
use Microsoft Word format, which is
then transferred to ASCII and then
into the IBM-compatible program.
Manuscripts submitted on paper are
scanned through optical character
recognition (OCR) software.
Publishers can call MMTI’s com-
puter and set the parameters for
what they're looking for in a manu-
script. Let's say a publisher needs
an article on homeless persons that’s
about 2000 words long. The publish-
er specifies the subject, length, and
format (article, screenplay, book),
and the software displays only those
works meeting the criteria. Within the
fiction category, there are 26 differ-
ent parameters, and there are 323
categories in nonfiction.
When a publisher finds an article
that meets the criteria, the manu-
script can be locked so that no other
publisher can get it. The service then
gives the publisher information about
how to contact the writer. The pub-
lisher and writer then work out a
deal. Once the two parties come to
an agreement, the publisher can
download the work into the publish-
er’s computer. Little or no paper
changes hands. Only the original
disk and contract have to mailed.
If you're a writer who's spending a
fortune on postage in mailing heavy
manuscripts from publisher to pub-
lisher, this service might be the
answer, It's also a good way to make
simultaneous submissions for time-
sensitive material. Each month, the
writer gets a report of how many
times the article was read and why it
might have been rejected. This gives
the author a chance to judge if the
work needs further revision.
The cost is an initial $25.00 fee
and $10.00 per month. There is a
storage charge of $.0001 per word
per day. (A 6000-word piece would
run $1.80 a month.) There is also a
$2.00 fee per disk . When compared
to postage to mail the manuscript to
140 publishers, this is a very good
deal. (Just sending a query letter to
all these publishers would run
$40.60!)
For a full brochure and more infor-
mation about its services, write to
Manuscript Marketing Technologies,
P.O. Box 234, Camden, South Caro-
lina 29020. The telephone number is
(803) 425-1675.
Remember, MMT! does not act as
an agent, and it cannot offer you
advice. The company merely offers
storage and a distribution service.
The software does not handle graph-
ics or photos, but authors can leave
a note in the manuscript if photos are
available.
G-6 COMPUTE AUGUST 1993
SOFTWARE SUPPORT
INTERNATIONAL
C-64/128 Specialists For Over Six Years
Thousands of Commodore Owners Choose Us
As Their One Stop Supplier . Here's Why! Cheek Out These Examples. ii
* Largest Selection of Commodore Software in the U.S.A.! feria: GAMES
Nobody in the Commodore market is more committed to your Jd ~~ Leaderboard Golf ;
Commodore than we are. We have well over 225 ,000 pieces of | ‘gis Beachhead Triple Pack $9.97
hard to get software in stock to service your every need. If Nong Nord & Bert 12.97
you've heard of a product, odds are that we can locate it for you. Cox gd Blue Angel: 6 ) $4.97
‘And, we stock most major Commodore titles that are still in hat RAcdog bencieh tees Se i
production. be laf “Trump Castle Casino 14.97
rs “wee, Bureaucracy 128 .
* Hardware & Peripherals. Datender Ghtha Grown
Although we can't get keyboards and disk drives any longer, we Beyond Zork 128
can offer disks, modems, cables, interfaces, and much r more. 4x4 Off Road Racing
* Used Software Selection. Arcade Smash Hits...............
Our regular customers know how to stretch their software a * Batman/Robocop Bundle — $9.97
dollars shopping our Used Software Listings. TE ta 5 Jeopardy 1-2-Jr. Bundle .........$9.97
* Un-Advertised Specials. : .
Our regular customers enjoy VIP service and great bargains i EDUCATIONAL
that are hard to pass up. Thinking Cap .. -$17.97
* Expert Technical Support. Stickybear Math
As aregular Software Support customer, you have access to the Carmen U.S.A.
most knowledgeable Commodore technical departments in the PO kth Typing Tutor 3
country. Of this, we're darn proud.
* Friendly & Courteous Order Takers. Cee
You'll have a hard time finding order takers as anxious to help : Me 2,
you as Sandy, Mike and Claressa. had
Word Attack..
.., Donald's Alphabet
Sky Travel
Perfect Score SAT
Word Spinner...
* Fast Order Processing.
Thanks to our automated computer system, huge inventory and
efficient shipping staff, most orders are processed the same
day. PRODUCTIVITY
* Walk In Sales Department. Super 1750 Clone............ $99.95
Newsroom $14.97
We welcome visitors to our warehouse outlet. The same great
deals are available and best of all, no shipping charges.
* Worldwide Distributor Of Major Products.
Ever hear of Maverick, Super Snapshot, Super 1750 Clone, and
the 1581 Toolkit? We've been actively involved in the ground
up production and world-wide distribution of these and many
other fine Commodore products.
* Purchase From Us With Confidence.
We were very pleased when the Better Business Bureau came
to us and told us that our out-
standing reputation qualified
us as members in their organi-
zation. We're here to stay, not
a fly by night, here today and
gone tomorrow outfit.
Certificate Maker
Cadpak 64 «$14.97
Mach 128 Cart 924.97
- Paperclip Ill 64/128 ....... $29.97
Printmaster Plus . $19.97
Superbase 640r128..........$24.97
Video Title Shop .............$19.97
Animation Station ..........$34.95
Outrageous Pages ++0$29.97
” emmanncnss Bob's Term Pro 64...........$24.97
Items Listed Above Do Not Include Shipping. Call Or Write For Your Free
Catalog Listing Hundreds Of Products And Special Offers For Your
. $14.97
* Extensive Catalog.
Our contacts at other mail or-
der companies have told us
that producing a catalog such
as ours is too time consuming
and worst of all - too expen-
sive. We say it's the least we
can do for our customers, and
wouldn't have itany other way.
Simply call or write for your
free copy.
Computer. Our Order Takers Are On Duty 6:00 a.m. - 5:00 p.m.
M- Fand 7:00 a.m. - 3:00 p.m. Sat. - Pacific Time.
SOMWARE Software Support Int.
a Se 2700 N.E. Andresen Rd.
Suite A-10
Shinpolt sere"
CALL TOLL FREE TODAY! 1-80 0-3§6- I 17 ©
Major Credit Cards Accepted.
Circle Reader Service Number 190
type of system lets you type in a ques-
tion or comment which is distributed im-
mediately to all of the users who are
signed on in the area. In this way,
dozens of writers can respond to your
comments or questions within seconds.
| host such an area called the
Writers’ Forum on QuantumLink, the
Commodore-specific service. Up to 20
writers meet in realtime once a week in
either a lecture or discussion format.
If you still wonder about how an
online forum can help you with your
writing, here are comments from
some of the writers who frequent Q-
Link's forum.
“The Writers’ Forum keeps me
motivated. When | run out of ideas,
the group fires me up! It's a great
place to talk to people all over the
country who share a love of writing,”
says Marti Paulin.
“If | didn't have the online forum,
I'd have to drive 20 miles each way at
night to get to my local group,” says
Cheryl Turney.
“Where else can | talk with people
as insane as | am, from all over the
country? Seriously, the forum offers
me a great place to talk about what a
writer goes through, with people who
understand,” says Eric Lopkin.
“The forum fires my creative
“Someday I'm going to pull a Gauguin; chuck all this, move to Newark
and devote myself entirely to computer art.”
juices—and adds to my degenerate
vocabulary,” says Donna Carlene.
“It's fun to chat with folks as poor
and stubborn as | am,” says Alex
Tishcenko.
“| enjoy the writing contest. It forc-
es me to come up with things on a
regular basis,” says Mike Cervini.
Even though I’m a forum leader
and editor of “The Writer's Newslet-
ter," | still learn something from
speaking with other writers. We've
also been fortunate enough to have
guest speakers such as Arlan
Andrews, Poul Anderson, and
Lawrence Block drop in to answer
questions and give writing tips.
Occasionally an editor such as Eric
Lopkin (Lopkin Publishing) or Tom
Netsel (COMPUTE’s Gazette) will stop
by to offer advice. And remember, the
Writers’ Forum on Q-Link is only one
such network. Imagine what joys
await you elsewhere. (See “Writers’
Forums” for additional information.)
Commissions and Submissions
On the national services, you never
know when you might speak with an
editor who's looking for someone to
write an article, and it could be a topic
with which you're familiar. At other
times, an online conversation might
SULLIVAN
[BROTHERS |
G-8 COMPUTE AUGUST 1993
spark an idea that could lead to an arti-
cle or story. This very article was par-
tially queried and updated via E-mail
and online meetings on QuantumLink.
Most services have online magazines
or areas where you can submit work for
others to read. This is also a great way to
gain feedback on your writing
Fiction is popular, and some areas
ask you to post articles and nonfic-
tion. Another area of considerable
interest is poetry. Here, poets can
post their works, and readers are
encouraged to leave comments.
Number: 3/26 -Doze with Prose —
Poetry
Date : 10:59 p.m. Tues., May 19, 1992
From : Paul #57 .
Title ; More Poetry
Today
| remembered
Our old phone number.
Like a long ago children's
rhyme
It came back to me.
| recall phoning late—
On the road, still
To tell you
I'm OK; I'm alive.
Sometimes breathless,
Sometimes angry,
You'd tell me
—hurry home.
A machine tells me that the
number
Is disconnected
And | wonder
Who calls you now?
But more,
| wonder
Why | want to
Still.
—Paul May 27, 1990
Into the Future
Computers are the writing tool of the late
twentieth century, but networks are play-
ing a major role as writing moves into the
twenty-first. If you write with a computer,
you owe it to yourself to use this tool as
something other than an electronic type-
writer. Use it to exchange ideas with
other writers, conduct research, submit
articles and ideas to publishers, get
feedback on your work, and more.
You could never have this amount of
power with a typewriter alone, so har-
ness this power and put it to work for
you. Writing is an ancient art, but the
tools and technology associated with it
are still growing. Don't be left behind! 0
PO BOX 542
LINDENHURST NY 11757-0542
WE NOW CARRY | MINDSCAPE
Hard Drives & 3.5 inch Drives!) POWERPLAYERS
AT LOWER PRICES THAN)
THE MANUFACTURERS!
1.6 Megabyte 3.5"..... $ 215.00
100 Megabyte HDD. $ 750.00
Hardware Items Require
Additional Shipping Fees !
Call Before Ordering!
KEYBOARD SEELS
DON’T LET YOUR
COMPUTER SUFFER
A MELTDOWN
Protects your keyboard
even while you type |
(C64 or Vic 20.......# VS64
6PACSETS
PD & Shareware Sets
JOYSTICK) 4 BIG HIT AT
ONLY $5.00
OREN. ear aes
$5.00 | 4;
QUICK GUNNE
Joystick / Flyingstick
4 seperate fire buttons
to assure your comfort!
(Trigger, Thumb, and
both left & right base.) | B: ASST: SuperMario
Hand Contoured Stick | C: MUSIC SET
And 4 suction cups on
the bottom of the base.| E: GEOS FILES i
for complete control !
For serious gamers!
H: HACKER PAC
ONLY $ 15.00 | One eae
COMMERCIAL SOFTWARE CLOSEOUTS J: Telecommunications|
Original Packages ONLY $5.00cach! | ———_
Save your Commodore |
ONLY $19.00
PA }.00 |)
PUFFY’SSAGA, PARADROID, | ear AC%2510.00)
BLOCKOUT, | DIBHARD You must be over 18 |
CLUBHOUSE SPORTS To receive this 6PAC!
WE ARE ALWAYS ADDING NEW TITLES TO | Signature Required!
OUR COMMERCIAL SOFTWARE STOCK! =| “#/ to request s more
CALL TO SEE WHAT'S NEW THIS MONTH! | S<rptive 6 PAC list /
SHIPPING $2.00 For First Item + $1.00 cach additional item
U.S. Funds Only! *SORRY NOC.O.D.’s OR CREDIT CARD ORDERS
FOR A FREE COPY OF OUR CATALOG, CALL:
(516)-957-1110 MONDAY - FRIDAY 10am to 5 pm EST
Circle Reader Service Number 162
grams for your Commodore 64 or 128—already on
disk!
programs published in the corresponding issue of
COMPUTE.
New on the Gazette Disk! In addition to the
programs that appear in the magazine, you'll also
get outstanding bonus programs. These programs,
which are often too large to offer as type-ins, are
available only on disk—they appear nowhere else.
As another Gazette Disk extra, check out
Yes, save time and money! Subscribe to the Gazette
Disk and get all the exciting, fun-filled Gazette pro-
Subscribe today, and month after month you'll
get all the latest, most challenging, and fascinating
Big Blue Reader 128/64 - 4.1
Transfers word processing, text, ASCII, and binary files between
(64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks.
New Version 4.1 features: Transfers ASCII, PET ASCII and Screen
Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip,
WriteStuff, GEOS, EasyScript, Fleet System and most others.
Supports drives # 8-30. New Backup (C128) and Format (1571/1581)
programs. Reads MS-DOS sub-directories, uses joystick, and more.
Includes C128 & C64 programs. Requires 1571 or 1581 Disk Drive,
Big Blue Reader 128/64 - 4.1 only $44.95
Version 4.1 upgrade, send original BBR disk plus $18.
Bible Search 3.2
1. The entire Old & New Testament text on 4-1541/71 disks.
. An Exhaustive English Concordance on 2-1541/71 disks.
Indexes every word in the entire Bible; 700,000+ references,
. Incredible five (5) second look-up time, per/word, per/disk.
. Instant, automatic spell checking of more than 12,800 words.
. Wildcard and boolean AND, OR & NOT search options.
. Search the entire Bible in 5 seconds with 1581 or HD (v 3.52).
. Money back guaranteed!
KJV $49.95 | NIV $59.95 | KJV & NIV $90
Includes: C64 & C128 programs; screen, printer and disk output;
users guide, disk case. Available on 7-1541/71, or 4-1581 disks.
«= Any questions? Call or write for more information.
Also available! Amiga, Bible Search
Order by check, money order, or COD. US funds only.
t FREE Bookrate shipping in US. No Credit Card orders.
Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR)
SOGWAP Software @ (219)724-3900
115 Bellmont Road; Decatur, Indiana 46733
“Gazette Gallery,” where each month we present the
very best in original 64 and 128 artwork.
So don’t waste another moment. Subscribe to-
day to COMPUTE’s Gazette Disk and get 12.issues
for only $49.95. You save almost 60% off the single-
issue price. Clip or photocopy and mail completed
coupon today.
Individual issues of the disk are available for
$9.95 (plus $2.00 shipping and handling) by writing
to COMPUTE, 324 West Wendover Avenue, Suite
200, Greensboro, North Carolina 27408.
YES! Start my one-year subscription
to COMPUTE’s Gazette Disk right away
for only $49.95.*
O Payment enclosed (check or money order)
OCharge OMasterCard O Visa
Exp. Date
Signature
(Required)
Name
Address
City
State/ ZIP/
Province Postal Code
!
|
i
|
|
i
1
|
|
|
1 Acct. No.
|
]
I
i
|
|
|
1
|
1
Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430
* Residents of NC and NY, please add appropriate sales tax for your area. Canadian
orders, add 7% goods and services tax
REVIEWS
KEYDOS VERSION 2
Version 2 of KeyDOS Function ROM
for the 128 is similar to DOS for IBM ma-
chines in that it lets you change drives
easily and defaults to the chosen
drive until changed again. KeyDOS
ROM is a chip that contains 20 func-
tion key definitions and 20 utilities.
It includes Swapper, a utility that
lets programmers work on one pro-
gram in memory, call up KeyDOS to
work in another program, and then go
back to the original program. There's
1581 Visual Partitioner, RAMDOS,
GEOS SuperRBoot, Video Manager,
and Hexpert. The main advantage to
the KeyDOS program is that it makes it
easy to switch drives.
| was happy to find that installation
was easy. It took 5 minutes to take the
128's case apart, 2 minutes to install
the chip, 15 minutes to vacuum out cat
hair—hey, might as well while you're
there—and 4 minutes to put the case
back together, Subtract 15 minutes
from this if you don’t own a cat. In oth-
er words, this doesn't take long to in-
stall, even for a nontechnician like me.
On boot-up, the screen will say HOLD
ALT KEY DURING RESET OR SYS
65366 TO ACTIVATE KEYDOS ROM.
Position cursor over the SYS line, hold
Alt, and press Return. You'll get a cop-
yright notice from author Randy Win-
chester and a message telling you
that KeyDOS is installed. Here's a list
of how KeyDOS programs your func-
tion keys and some other changes.
fi—Load program
f2—Run program
f8—Disk catalog
f4—Run 64 program
f5—Type SEQ file
f6—Scratch file
f7—New active drive
f8—Scratch and save
Run—Boot disk/file
Help—Drive #
The Esc key offers many new com-
mands when used in conjunction with
other keys. Commands include Help, a
compiler, a 1581 partitioner, a subdirec-
tory key, a batch exec key, GEOS Su-
perRBoot, CBM RAMDOS, Diskmon, a
monitor dump, Hexpert, a drive renum-
berer, an UNNEW commana, a screen
G-10 COMPUTE AUGUST 1993
dump, find and replace, an alternate
screen, and more. KeyDOS is very use-
ful for running a directory and for run-
ning some programs. It's also cool for
checking out SEQ files. It allows you to
scratch an old file and rewrite a new
file in one easy command. If you load
it when you first power up, you can ex-
amine what's on a disk without loading
an extra program.
The program goes downhill from
there. | had trouble with the lockups
and syntax errors. | needed to reset
the 128 almost every third time | at-
tempted different commands. The pro-
gram includes a demo disk, but it
wasn't helpful. It lists nine programs
and four sequeniial files, but | was ei-
ther denied access or else the 128 lock-
ed up whenever | tried to load or run
the programs.
Two programs, Write-SEQ-File and
Write-List-File, for instance, both tell me
that | have no room. | must delete a
function key’s programming and repro-
gram a key for these programs, but the
manual isn’t helpful in telling me how to
do this. There are two separate func-
tion keys for running 64 and 128 pro-
grams. Unless you keep the 64 and
128 programs on separate disks,
there's no way of telling a 64 program
from a 128 program. Having both
types on one disk gives me an error
message and forces me to reboot eve-
ry time | choose the wrong program.
The manual doesn't say which RAM
expansion units work with KeyDOS.
Since GEOS is the center of my world,
| used geoRAM. | tried it and was told
to put Desktop 2.0 on the REU, which
| had already done. KeyDOS may
work with another REU, but not with
geoRAM.
Don't worry if programs or files
scroll off the screen when a directory is
being listed. Go into Utility with Esc-1,
and you have a lot of help at your fin-
gertips. KeyDOS has 18 utilities: for-
ward, back, select, unselect, toggle se-
lection, select all, copy, select drive,
directory, new disk/list, print, quit, re-
name, scratch, type, unselect all, 1581
subdirectory, and drive command.
Type, for example, sends SEQ files to
the screen in PETSCII, true ASCII, and
Screen mode.
This utility is great for renaming
files, scratching files, and printing
files, but it requires you to call up the
directory again. The program doesn't re-
display the directory by itself, but this
is a small point.
| gave an incorrect command to
print, and then realized my printer was
not hooked up. The program kept tell-
ing me to redo from the start or enter
a device number. It would have been
handier to default back to the program.
As it was, | had to reboot yet again.
The compiler allows you to reassign
functions to different function keys. You
can save any new configuration to
disk and reload it the next time you
wish to use it. The 1581 Visual Partition-
er lets you not only format a disk but al-
so add a partition to a previously used
disk.
The monitor dump sends the moni-
tor output to either a PETSCII disk file
or a PETSCIl printer. Diskmon and Hex-
pert should be very useful for machine
language programmers.
With KeyDOS you can renumber
drives, reset drives, run new collect, res-
cue a deleted program, execute pro-
grams on the alternate screen, install a
find/replace/scroll utility, execute a one-
drive routine, and run Screen Edit,
Clock Manager, and Video Manager.
With Video Manager, you can
change the cursor’s shape, flash rate,
and blink rate. You can use an inter-
laced monitor, and you can select
from 80 colors for text and back-
ground. The colors appear only as
shades of gray on an RGB monitor. It's
also possible to change the back-
ground and text to the same color, mak-
ing the text invisible. This can cause
panic city the first time you do it, be-
fore you figure out how to undo it. Be
prepared for massive button pushing.
| had to press f3 at least twice and
sometimes three times before | could
call up a directory. When | accidental-
ly changed both text and background
to the same shade of gray, it took
three pushes to change the color. Of
course, there's the good old reset but-
ton (unless your screen is totally gray).
KeyDOS is a specialized product that
will appeal to some users more than oth-
ers. Average users like me probably
won't find it as useful as programmers
will. If you're a programmer, you'll prob-
ably love KeyDOS.
DONNA CARLENE
Antigrav Toolkit
P.O. Box 1074
Cambridge, MA 02142
$32.50
Circle Reader Service Number 414
RISERS AND SLIDERS
Step right up and grab a Slider! Hop
on board and take a ride! No, I'm not
talking about a new skateboard; I'm talk-
ing about a new game from Micro-
Storm that's called Risers and Sliders.
When | first heard the name, | must
admit, the first thing | thought of was
the children's game Chutes and Lad-
| REL, USR File, NEW features include:
| Rename File/Partition/Header + Change Current Partition/Subdirectory
RAMLina win 4 MB RAMCard
Real Tere-Ciock for RAMCard (Optional)
CMD Offers One-Stop Shopping to Commodore Owners
Effective May 1, 1993 CMD acquired all rights to RUN software and has UN Mag. backissues | Microprose games Blank disks 3.5" 8 525°
purchased all items from their inventory. As result, CMD will be offering one of RUNRCAUN software elec Pritt irteraces Misc. IC Chips
the largest selections of Commodore 64/128 software and hardware available Abacus books & sottware | Electronic Ans Games | RAM Chips/SIMM's
today. CMD's decision reinforces its commitmentto C-64/128 ownersworidwide. GEOS 2.08 applications | Skyies Electric Works and MUCH More
Itis our hope that we can offer One Stop. to Commodore owners. It Timeworks Software
we don't have it..we can probably find it! Here is a partial ist of products. For a
complete list call or write for a free catal
Dr. Ts Music Sofware
Superbase & Superscript
‘SOGWAP-Big Bive Reader! Mi
CMD U A Powerful and Unique Collection of Disk Utilities
| I les for Commodore and CMD Storage Devices
FCOPY+ A two drive file copier featuring 1541,71,81, REU and CMD DIR SORT Alphabetizing utility for 1541,71,81 drives and all CMD
device compatibility which is capable of copying any size PRG, SEQ, storage devices makes it easy to organize large directories,
MCOMPARE Two drive aisk tity makes t "
Scratch/Unscratch Files + Copy/Dolete C128 Boo! Sector: Disk/Parttion he accurancy ol a CMD partion against a disk copy.
Creek ios Pompe, access DOS Commands thry Menus + LOCK’ FOLLOW LINKS Helps to locate and remove corrupt tes
Unlock Files + Format Disk/Partition » Create/Remove Sub Directories + rane
increased storage on 1541 disks altar MCOPY'ing to 1571 or partition. [74
MCOPY Atwo cive whole ci/partion fe copler which supports CMD - a5 REWD ACG Clears memory in REU or RAMLinkDACG partion, [i
storage devices and Commodore 1541, 71, 81 disk drives.
[}] BCOPY+ A powertul backuprrestore utlity which backs up any CMD HO POWER TOOLS Alows editing of CMD Device Parton Table.
Gevice or partition to a 1541,71,81 drive or CMD FD Series floppy drive. REBUILD PDIR Holpstorecover partitions aftercompletelyrecreating |) |
‘This new version incorpoates the ability to dump an entire CMD device the system on CMD Devices,
to an HD Sories hard drive, ‘Shareware Utilities Included: |
FIND Searches specified partitions on CMD devices for files that match DEDIT64/128, SuperDEDIT64/128 Sort or manually editdirectories |
s| 2 user defined filename pattern. Includes handy printer/screen toggle. subdirectories and partitions on 1541,71,81 drives and all CMD Devices.
High Performance SCSI Hard Drive for the C64 &C128_ | |
available in capacitos up to 200 MB, aro fuly parttionable, and |)
|, 1571, & 181 disks whilo Native partitions utlize MSDOS-siyie
subdirectories, HD's connect easily tothe serial bus or paralel via RAMLink. Includes bul:
In JityOOS, SWAP feature and Feal-Time-Clock. HO Series Drives cttor superior
Compatlity wth most commercial software including BBS, Productivity and GEOS. And |)
with new pricing, HO Series drives offer the lowest cost
ders. Then, | booted up the game and
discovered a maze that vaguely resem-
bles the mouse-shaped symbol that
the Disney channel uses as a logo. Kid
stuff, | thought again. However, when
| began to play, | quickly saw how
wrong | was. This game is definitely not
geared to the preschool crowd.
Risers and Sliders is an arcade ac-
tion game that offers 50 increasingly dif-
ficult levels of play. The game's title
comes from the red-colored Risers and
the blue Sliders that you use to move
swiftly around the screen. The Risers
move your character up and down; the
Sliders move you from side to side.
There are also wedge-shaped Sliders
that are a cross between the other two
transports. They move more or less di-
agonally on the screen. Of course, you
can also walk your character from
side to side, but he can't jump or
climb. Using combinations of the trans- Refurbished -dardware
Power Backed Expandable RAM Disk and Interface |
The fastest possible form of storage, RAMLink provides instant accozs to les and retains
data while your compute is tured oft. Easy touse and expandable up to 16 MB, RAMLink |)
utlzes the same powertl operating system [ound in the HD, RAMLink also ofers buit- |
i JittyDOS, SWAP feature, reset button, enable'dsable switch, pass thru port and RAM
port for REU/GEORAM use, ideal for those requiring maximum speed, expandabiity and [9
ity wih al typos of software and hardware including GEOS
10-4000 (00%, "6 MBané 32 8 Formas) aS ars
FD Real Time-Clock Option
Box of 10, Hgh Density Disks (68) i High Capacity 1.6 and 3.2 MB 3.5" Floppy Disk Drives
‘The FD-2000 end FD-4000 disk dives ulize days latest Sinch technology FD-2000 fi
‘Support 800K (1581 style) and 1.6 MB (High Density) formats, while the FD-4000's otter |)
‘support for the 3.2 MB (Enhanced Density) format as well, Fast and reliable, they support [im
1541, 1571 and 1581 style partttons, Native Mode partitioning and can actually read and
wie '1581 dss, Fs feature buitn JtyCOS, SWAP bution and optonal RTC. High
Capacity, speed and compatiblity maka the FO rightfor every application, including GEOS,
Speeds up disk access by as much as 1500% while
remenr rape x maintaining 100% compatibility with commercial software
penttiedinte iho meer: + Speeds up Loading, Saving, Veriyrg, Forming and Reacing Wntng ol PAG, SEQ, USA ard REL fees Z
fe] Cotene Unites narcy EOS nies BuitinDOS Wedge pus 17 additonal featuesincuding fle cope, textdup,prntortcoge andredefnaboinctonkeys fe
fo] Perfect Print LO tor GEOS (Font Con 142, 49 Fonts) ROM upgrade instals easily into most computers and disk drives. Supports C-64, 64C, SX-64, 0-128, 128-D, 1541
Font Collection 3(17 Fonts and $ Borders) 15410, 1541-1 1881 and more. 128 systam supports both 64 and 128 modes and upgraded Ki
Bowder Font Colecton 1 (2 Bret Fors 2
Creative Micro Designs, Inc.
“StHyMON « ML. Mantes for JtyD0S 64
E. Longmeadow, MA 01028
iB
HD-Series Hard Disk Drives
HO-4, (Special Eon w 85 MB Ove)
HO-100, (Special Ecttion wi 170 MB Drive
B] 200, (Special Eaton wi 245 MB Drive)
*, Floppy Disk Drives
FO 2000 0K ara 6a Ferm) s
UltfyDOS sows Comoarsove moo bul eer
C6t Sytem (Computer & deve)
SK 64 System (Compute 8 Irtral 1641)
{©128 System (Computer & ve)
H] 128.0 System Compuor& iriornal 1571)
+} Aostiona Orve ROMS
Software Products
B] peoMlakeBoct aes crt cape 9 EOS 4728
Circle Reader Service Number 139
Upgrade your Commodore system!!
New APROTEK modems
ports and walking, your goal is to || wontrors DRIVES OTHER 64/128/Amiga-2400 baud $119
move through the mazes, gather all the ||1701- $219 1541- : 99 ey 38 user extech re
i i i 702- $239 1541c- $109 64C-$11 onvert -a-Com
eras ieee ean sOula: Hp your 1B02- tace 15411I-$139 128-$179 New CMD accessories
score) ; 1802D-$279 1571- $169 128D$329 JiffyDOSC64/sx64 "system" $69
It's not nearly as easy as it sounds. || y592- §299 1581- $179 1660$ 29 JiffyDos128/128D "system" $79
Learning how to move around takes |] 1902a-$319 1001SFD$139 1670$ 49 128 Kernal $55 64 Kernal $45
practice. You have to move your man |}1084- $329 1530 Datasette - § 39 Add’l JiffyDOS drive ROMs $35,
over the transport and press the fire but- 1084S-$349 B.I. Buscard II- $ 59 Ramlink, RamcardII & bat. $
RL bat. $29 1Meg $59 4Meg $199
Ramlink base$199 RamcardII$89
NEW DRIVES!
FD2000 $249 FD4000 $339
Extended Density disks (10) $89
We may just have it!
ton while moving the joystick handle in
the direction you want to travel. If you
have good joystick skills, you'll proba-
bly learn the game faster than | did. |
have a tendency to overshoot the
mark when |'m using a joystick. Do,
that in this game, and you'll fall to your
death. Even my joystick jockey teen-
ager had to make several attempts be-
fore clearing a level.
For one thing, there's the pesky little
critters called moths that can sneak up
Books $10-15 Interfaces $35-$75
Software $5-20 512k RAM Exp. $179
Real Time Clock-extra $25
Ask for anything!
Send CDN funds/15%USA Ex.
J.P. PBM Products By Mail
15 day warranty on refurb.
N.Sheridan Mall P. 0. Box #60515
Downsview ON M3L 1B0 hardware
Allow 4-6 weeks for delivery. TAX-Canada+7%GST, Ont.Res.+8%PST
SHIPPING- (-$25=$4, -$100=10%, -$200=8%, -$499=7.5%, $500+=6%)
NEW!! Catalogue Disk (64 format) - $2 (USA Ship. =15%)
AUGUST 1993 COMPUTE G-11
G-12
C64/128 PUBLIC DOMAIN SOFTWARE
REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE-
FUNDABLE). Categories Include education, utilities, games, business,
PRINT SHOP graphics, pre-tested programs and more. Rent for 75¢ or
buy as low as $1.00 per disk side or for 80¢ for 70 or more. $20 order
gets 4 free disks of your choice.
NEXT DAY SHIPPING! SINCE 1986
Fences CALOKE INDUSTRIES (Dept. GK) =e
= PO BOX 18477, RAYTOWN, MO 64133 a
Circle Reader Service Number 181
DEPENDABLE SERVICE FOR YOUR COMMODORE!
C-64, 1541, C-128, or 1571: “AST TuRNAROUND!
$25 .°° pus parts
Send computer* or drive with name. ad-
dress, phone, & describe problem. We'll
call with parts estimate, then repair and
return to you insured by UPS. Payment
can be COD or VISA, M/C. Minimum
charge, estimate only is $20. * Include power supply.
503 East St. Dept.C
TYCOM Inc. eld, MA Of:
Pittsfield, MA 01201
AUTHORIZED COMMODORE
SERVICE CENTER
ON ALL REPAIRS
(413) 442-9771
Circle Reader Service Number 242
THE MOINS, ONG ELRRE
C-64 or C-128 in 64 mode ME
ARCADE/ROLE PLAYING GAME ed \?
Assume the role of Circe and Pegasus! 2
Battle wizards and dragon! a (at \ .
$19.95 Check or Money Order ( {
CREATIVE PIXELS LTO.
P.O. BOX 592, LIBRARY, PA 15129
Circle Reader Service Number 113
COMPUTER REPAIR <se
C-64: $40.00 1541: $54.95 64C: $50.00
1541-Il: $64.95 C128: $64.95 6©€128D: $74.95
1581: $64.95 ~ EIC.....
WE ALSO REPAIR IBM Clones, Sega, Genesis, Nintendo
For more info cal: BEAR TECHNOLOGIES
Computer Sales, Service & Repair
1005 McKean Street, Philadelphia, PA 19148
215-336-5295 1-800-755-5295
eS
Circle Reader Service Number 152
Label Maker- Use 11 pre-designed labels or create your own, floppy & micro
disk labels, audio & video cassette labels, and more. Use your printer's font and
color capabilities. Both Commodore 64 and 128 versions included. - $19.95
Special - both for only $35.00
Mail List Manager - Makes maillist management a snap! Print one record ata tme, pick and choose
for exporting or printing, or print the entire list. Holds 300 records for each C64 list, 1000 for C128, transfer
between lists. Use new label designs created with Label Maker. Both 64 and 128 versions included -$19.95
SHIPPING: - U.S. $4.50, Canada $5.50, Intl. orders $12.00. Intl. orders paid by credit card or Canadian
bostal money order only. Write for free catalog of Software and Leroy’s Cheatsheets.
Keystone Software Dept.G P.O. Box 8369 Pittsburgh, PA. 15218
412-243-1049 Fax: 412-731-2460 Hours: 9 to 5 Eastern Time
Circle Reader Service Number 170
COMPUTE AUGUST 1993
on you. They move around the screen
unfettered by transports and can
pounce rather unexpectedly. Their
bite is deadly to you, and you have on-
ly three lives to lose. You can evade
the moths, or you can attempt to kill
them. You do that by smashing them
with your transporter. It’s worth attempt-
ing a kill since you'll earn an extra life
if you manage to dispose of 12 of
them. You'll also add five points to
your score for each one of the moths
you eliminate
Another danger when traveling
through the mazes is falling. Be care-
ful where you step! One false step
and—BOOM! You've lost a life. In the
more advanced mazes you'll also
need to know whether or not it's safe to
take the diamonds. You'll soon discov-
er how disastrous it can be if you
guess wrong. By the way, you get one
point for every diamond that you col-
lect. Whenever you earn 200 points,
you will get another life.
The screen border helps you keep
track of how well you're doing. In addi-
tion to the typical score information, the
border flashes whenever you earn an
extra life. It flashes blue for earning a
bonus life on points and red for earn-
ing a life for slaying those pesky
moths. You'll want to get as many
lives as possible because the dangers
increase as you advance in the game.
With 50 levels, this game is quite a
value. Some levels are complicated;
some are deceptively simple. Each has
its own dangers. The game's designer,
Daniel Lightner, knew how challenging
the game was, so he programmed in
bonus points for you at the end of eve-
ry level. You'll get 600 points if you fin-
ish a maze in one try, 400 points for
two tries, and 200 points for three at-
tempts. If it takes you more than three
attempts, you get zip. | played a lot of
practice rounds (my name for games
in which | died) before | earned any bo-
nuses. Maybe you'll do better. The
game will keep you busy for several
hours.
That reminds me. Did | mention the
clock? Well, that's another little surprise
the designer added as a booby trap.
You have to complete each of the maz-
es in five minutes or less. Now five min-
utes may sound like a lot of time to
you, but you'll be surprised how quick-
ly it will pass. Trust me on that. | lost
more than one life running around the
mazes, avoiding moths, and forgetting
about the time. | soon learned to keep
a closer watch on my time.
Lightner tried to pack the screens
with as many diamonds and obstacles
as he could. However, | believe he
could have done a better job on the
graphics. Risers and Sliders doesn't re-
ally utilize the screen as well as it
could have. The transporters are depict-
ed as minuscule squares just a couple
of pixels wide. Only their colors desig-
nate them as anything special. The
moths are a couple of tiny, intercon-
nected loops. The fact that they were
moving told me they were supposed to
be the deadly moths. Even your char-
acter is little more than a stick man
that moves. I've seen better graphics
on a 64,
The attraction in Risers and Sliders,
however, isn't the art. The difficulty of
the game is its charm. | suspect once
you discover this program, you'll keep
coming back for more.
MARTI PAULIN
MicroStorm Software
P.O, Box 1886
Sidney, MT 59270
$24.95 plus $3,00 for shipping and handling
Circle Reader Service Number 415 0
TYPING AIDS
MLX, our machine language entry
program for the 64 and 128, and
The Automatic Proofreader are util-
ities that help you type in Gazette pro-
grams without making mistakes. To
make room for more programs, we
no longer include these labor-saving
utilities in every issue, but they can
be found on each Gazette Disk and
are printed in all issues of Gazette
through June 1990.
If you don't have access to a
back issue or to one of our disks,
write to us, and we'll send you free
printed copies of both of these
handy programs for you to type in.
We'll also include instructions on
how to type in Gazette programs.
Please enclose a self-addressed,
stamped envelope. Send a self-ad-
dressed disk mailer with appropriate
postage to receive these programs
on disk.
Write to Typing Aids, COM-
PUTE's Gazette, 324 West Wen-
dover Avenue, Suite 200, Greens-
boro, North Carolina 27408.
Send new product
announcements
and/or press releases
on your
Commodore 64/128
products to
Tom Netsel c/o
COMPUTE.
COMMODORE 64/128
PUBLIC DOMAIN
SHAREWARE PROGRAMS
CALL OR WRITE FOR FREE
DESCRIPTIVE CATALOG OF
COMMODORE 64/128 PUBLIC
DOMAIN & SHAREWARE SOFT-
WARE OR SEND $2.00 FOR DE-
SCRIPTIVE CATALOG AND
SAMPLE DISK. ADULT SOFT-
WARE LISTING AVAILABLE TO
THOSE OF LEGAL ADULT AGE.
DISKS O'PLENTY INC.
8362 PINES BLVD., SUITE 270
PEMBROKE PINES, FL 33024
(305) 963-7750
Circle Reader Service Number 253
RECORD FILER |) «cord Keeper =202
FOR BUSINESS OR 1541 =570; 1571 =745.
Original Print Shop Graphics
Borders and Fonts.
Western Heritage
Turn your Print Shop & computer into
a real old western printing press.
Make real wild west wanted posters.
Use 143 of the best wild west graphics.
$24.95 + S/H $4.00in US. WA res, $1.95 tax
PLUS S/H APO, FPO, AK, HI $6.00 @ UK $1200 @
AUSTRALIA $16.00 ® PAYMENT IN USA FUNDS
@ CANADA cend $37.00 TOTAL in Canadian funds.
Call now 509-276-6928
C64 w Write for Free brochure * IBM
Horse Feathers Graphics
N. 27310 Short Rd., Deer Park, WA 99006
Request 5 25 oF 3 5 for BM
Circle Reader Service Number 234
characters per record. Disk record capacity
** Record Printout 1 or 2 columns. ***Mail
3 columns. NO SET-UP-BOOK/MANUAL
5 Label Printout 1, 2, or
PERSONAL USE.
Our easy to use Q Printer
File Maker lets you enter
your own printer's code or
use as is with an Okimate
20 or Okimate 180 printer.
Standard or Italic print.
NTERPRISES
SOFTWARE
P.O, BOX 77123
WASHINGTON, OC 20013-7123
Commod
Logo us the property o!
Ge
c-6
1541 Repair
1571 Repair
SX64
PC-10. PC Cot Motherboard $110.00
repair $37.95
Prices include parts/labor.
Except PS and drives.
Discount for dealers & schools
Prices subject to change without notice.
NEEDED BUILT-IN INSTRUCTIONS-ALL YOU DO IS TYPE. Write-
Read-Edit-List-Print-Delete; Fast Search by 4 methods/6 types +
“Unique” Search searches and/or print from any set of unique letters in
record. CORRECTION Routine restores files/limited power safeguard,
PRINTOUT BY DATA FROM ANY OF 9 FIELDS. FIELD/CHARAC-
TER SIZE; Name/$2 Addres/32 City/25 State/20 Zip/10 SS or LD/I1
Phone #/12 Remark 1/30 Remark 2/30 total 202 Characters
Screen for Color or Black and White.
NOTHING HIDES FROM RFI - RELAX - LET RFI DO THE WORK
FOR YOU!! BUILD A LIBRARY OF LIST DISKS WITH RFI.
Cost = $39.95 + $4 S/H USA; Canada and Mexico + $6 S/H; Overseas
+ $10 S/H. Check or Money Order Only! 2 to 5 weeks delivery.
AMIGA & COMMODORE
CUSTOM CHIPS
and
REPLACEMENT PARTS
Lowest Prices Around
THE GRAPEVINE GROUP INC.
3 CHESTNUT STREET, SUFFERN. N.Y. 10901
ORDER LINE: 1-800-292-7445 / FAX: (914) 357-6243
INTERNATIONAL ORDER LINE: (914) 357-2424
Write or call for prices
™
16 Business Machines. Inc
Circle Reader Service Number 159
$63.00
$42.00
$52.00
$66.00
$70.00
$87.00
$125.00
$67.00
Amiga 500 BD
Amiga 1000 BD
Amiga 2000 8D
All Commodore monitors
128D — $70.00
Computer Technologies
1313-B Washington Ave.
Titusville, FL 32780
(407) 269-1081
Toll Free 1-800-237-2835
AUTHORIZED COMMODORE SERVICE CENTER
AUGUST 1993 COMPUTE G-13
Updates and
corrections to
earlier
programs, a
program
that calculates chess
rankings, and more
G-14
FEEDBACK
Bug-Swatter
Steven Bakke noticed that
Fastball (January 1993) high-
lights the wrong item when he
makes a selection from the
menu. To correct this prob-
lem, load but do not run the
program. Then, type POKE
2133, 201 and press Return.
Save this corrected version
with another filename.
James T. Jones of Klon-
dike, Texas, points out an er-
ror in the April “Programmer's
Page.” When you run.Sequen-
tial File Printer, you'll get a
FILE OPEN error message if
you select the Print File op-
tion. To correct it, change
line 190 to read as follows.
190 PRINT#4,A$;: GOTO 160
In the May issue, we pub-
lished a review of Video Digitiz-
er that is distributed by RIO
Computers, At the end of the
review, we inadvertently pub-
lished the company's old ad-
dress, The correct address is
RIO Computers, 3310
Berwyck Street, Las Vegas,
Nevada 89121; (702) 454-
0335. We regret the error.
In “Screen Gems" (May
1993), several readers spot-
ted typographical errors in var-
ious program listings. Bill
Gisonda of Bethpage, New
York, noted that lines 230 and
240 of Brownian Symmetry
should be numbered 250 and
260 respectively. Also, lines
150 and 230 should read as
follows.
150 IF Y > 100 THEN 80
230 DRAW, (160=X)N,100-Y
Donald Klich of Mount Pros-
pect, Illinois, spotted other ty-
pos, which just goes to show
what can happen when type-
setters have to enter listings
without the aid of The Automat-
ic Proofreader. Curve Explo-
sion would look better if line
COMPUTE AUGUST 1993
10 were entered as follows.
10 COLOR 1,2: COLOR 0,1:
COLOR 4,1
In Trig Show, lines 270 and
280 had some problems with
an extra colon and a missing
Return. The lines should read
as follows.
270 IF BB=0 THEN DRAW ,
X*25.5,100-FNY(X)*30
280 NEXT: WAIT 212,1:
RETURN
In January 1993, we print-
ed a request from a 128 user
in Syria who would like to cor-
respond with other Commo-
dore users around the world.
Here is his correct address.
Ahmad Husam Mukhalalati
P.O. Box 10392
Aleppo, Syria
Chess Ranking
| would like to start a chess
club, and | have been looking
for a program that calculates
club members’ chess rank-
ings. Could you give me
some help with a program?
VINCENT SULEWSKI
SOUTH HADLEY, MA
Here is a simple program
that calculates rankings after
players have completed ei-
ther one or a series of
games. As players compete,
they should keep track of the
number of games they play;
their opponents’ rankings;
and their overall score for
wins, ties, and losses.
AS 10 PRINT" {CLR}"
GX 26 INPUT"NUMBER OF GAM
ES PLAYED";G
ME 30 DEFFNF(X)=(997 (X/80
G)) /(1+ (997 (X/886) )
) :REM{2 SPACES}RATI
NG FORMULA
PX 46 INPUT"YOUR RATING";
R
KA 50 PRINT"OPPONENTS' RA
TINGS?"
CE 66 FORB=1T0G
KE 78 INPUT 0
CP 88 X=R-0
FP 96 IF X<-860 THEN X=-8
6G
ED 163
GH 116
RB 126
D=D+ENF (X)
NEXT
INPUT"YOUR SCORE";
$:S=S-D
IF R<2160 THEN 176
IF R<2466 THEN 169
S=S*16:GOTO 220
S=S*24:GOTO 226
S=S*32:1F R+S+.5>1
NT (2099) THEN 226
IF G<4 THEN G=4
IF S>32+(3*(G-4))A
ND R+S+S-(32+(3*(G
-4)))<2166 THEN 21
6
GOTO226
R=ER+S+S~ (324 (3% (G-
4))):GOT0236
R=R+S
PRINT: PRINT"YOUR N
EW RATING IS"; INT (
R+.5)
DR 136
JD 148
JP 156
MP 160
HM 176
MM 180
XH 196
KS 2066
HJ 210
GC 228
GE 230
EE 248 PRINT: PRINT"AGAIN?
"
HQ 258 GET AS: IF AS=""TH
EN 250
RA 266 IF A$<>"Y" THEN EN
D
CD 276 GOTO16
A full-featured chess ranking
calculator that keeps track of
an entire club's standings
would be too large to supply
here. If a chess fan who pro-
grams would like to submit an
original program, we'll consid-
er it for publication in the “Pro-
grams" section.
Scratched Commas
In the March 1993 “'Feed-
back,” you told how to
scratch a filename that ap-
peared in a disk directory as
a comma. Your methods are
fine, but there is a much sim-
pler method. Simply enter the
following line.
OPEN15,8,15.‘'S0:?”:CLOSE15
This question mark wildcard
will erase any file whose
name consists of but a single
character.
AL WILDERMUTH
RIVERSIDE, CA
Thanks to Al and all the other
readers who replied with this
simple solution that slipped
Gazette's collective mind.
Just check the directory first
to see if there are any single-
character files on that disk
that you wish to retain. If so, re-
name them before deleting.
Interest Calculations
As an active participant in
IRA distributions, | was very in-
terested in IRA Minimum Dis-
tributions (April 1993). | was at-
tracted to lines 980, 990, and
1000 where the interest calcu-
lations take place.
Years ago, | got involved in
interest calculations, especial-
ly after | read in a mathemati-
cal journal that it was impos-
sible to calculate daily com-
pound interest (yield) except
by the one-day-at-a-time meth-
od, as used in the article.
As an engineer, | find the
word impossible to be incom-
-prehensible, so | devised a
means for making long-term
calculations easy. As pub-
lished, the calculation for a
sample 20-year projection
and its 20-year payout sched-
ule takes nine minutes and 42
seconds. With my revision,
the same calculation takes on-
ly 7 seconds.
Insert REM after line num-
bers 980, 990, and 1000 to
preserve the original code
and then enter this line.
985 SP=SP*EXP(1)1(365.25
*LOG(1+IR65.25))+.001:
SP=INT(SP*100)/100:
RETURN
The 365.25 allows for the ex-
tra day in a Leap Year.
LES WILLIS
DELAND, FL
Machine Language
Over the years, your maga-
zine has carried a column for
machine language program-
ming; however, | haven't
seen any instructions on how
to actually implement the infor-
mation. Is a special program
required?
EARL WOODMAN
DILDO, NF
CANADA
When you start learning ma-
chine language, the first
thing you need is an assem-
bler. An assembler is to ma-
chine language what the BA-
SIC programming language is
to programming in BASIC. It
translates your commands in-
to numbers that the computer
can understand and use.
Since it’s difficult to write a
program entirely in numbers,
an assembler replaces the se-
quence of numbers with stan-
dardized mnemonics, com-
mands that humans can more
easily remember and under-
stand. Here's an example.
10 * = 880
20 LDA #147
30 JSR 65490 40 RTS
In this short program, when
you enter SYS 880, the com-
puter's screen clears. The
147 is the number which
clears the screen. LDA is a
mnemonic that means Load
the Accumulator, a special ar-
ea in the computer. So 147
goes into the accumulator,
and the program moves on to
the next instruction. JSR
means that the program then
Jumps to Subroutine at
65490, which is the address
in ROM which prints whatever
character is currently in the
accumulator. The screen
clears, and the program
moves on to RTS. This com-
mand, Return from Subrou-
tine, causes the computer to
leave machine language and
return to BASIC.
This program is called
source code, but you cannot
run it as you would a BASIC
program. The assembler
takes this code and turns it in-
to object code, poking num-
bers 169, 147, 32, 210, 255,
and 96 into memory locations
880-885
The computer doesn’t
have any idea what to do
with LDA, but when LDA is
converted into 169, it knows
to load the accumulator. It's al-
so easier to remember LDA
than 169. The 32 means JSR,
210 and 255 is a two-byte ad-
dress that represents 65490,
and 96 returns the computer
to BASIC (RTS).
For those who don't have
an assembler, we often print
the code in the form of a BA-
SIC loader. The computer's
ML instructions are in the DA-
TA statements.
10 FOR A = 880 TO 885
20 READ D: POKEA,D
30 NEXT
40 SYS 880
50 DATA 169,147,32,210,255,96
As with most Commodore
software, finding a good com-
mercial assembler such as
Commodore Macro Assem-
bler, Buddy 64, or Merlin64
may be difficult these days,
but a number of public do-
main programs are available.
Gazette's own BASSEM (April
and May 1990) is still availa-
ble on the Best of Gazette Util-
ities Disk ($13.95).
Resume Typing
| have some suggestions
which might help Jack Christ-
law, who was was having dif-
ficulty entering programs in
one typing session.
Whenever | wish to stop typ-
ing, | save what | have using
the number of the next BASIC
or ML line of code as the file-
name, This assures that I'll nev-
er use the same filename
twice and I'll always know
where to begin again. | also al-
ways use a fresh disk with on-
ly MLX or Proofreader on it.
ARNOLD JONES
STONE RIDGE, NY
Send your questions and com-
ments to Gazette Feedback,
COMPUTE Publications, 324
West Wendover Avenue,
Suite 200, Greensboro, North
Carolina 27408. a
about saving partial
AUGUST 1993 COMPUTE
G15
G-16
PD PICKS _
Steve Vander Ark
MISCHIEVOUS 64
AND MORE
QuantumLink isn't the only
place to find shareware and
public domain files, but it's
probably the best place. Q-
Link has more files than any-
body else—plain and simple.
| have a copy of its catalog
of files, a burly tome close to
two inches thick and heavy
enough to keep the door to my
computer room shut against
my one-year-old. This hernia-
inducer makes a valiant effort
to list all 35,000 of Q-Link's pro-
grams and files. Yes, 35,000!
Make no mistake; if you're se-
rious about your Commodore,
you belong on the Q.
If you aren’t a Q-Linker,
though, you can find good PD
programs on any BBS that sup-
ports the Commodore. The
Rogue River BBS in Grand Rap-
ids, Michigan, has all the files
mentioned in this column. The
phone number is (616) 361-
8267. Of course, all programs
mentioned here are also on Ga-
zette Disk. Here are my PD
picks for this month.
Mille Bornes
Original author unknown.
QuantumLink filename:
MILLE BORNES.3; uploaded
by RolfB.
| seldom play Mille Bornes. My
wife and | bought it about ten
years ago, and it's a great
game. The problem is that |
play it for blood, which is the
way my wife plays Monopoly.
That's why we don’t play Mo-
nopoly either. So when |
found this one-player card pro-
gram buried in the 64 games
section of Q-Link, | got all ex-
cited. Now | could stomp some-
one at Mille Bornes without hav-
ing to sleep on the couch!
This version of Mille Bornes
isn't glamorous. It's entirely
text with gameplay true to the
original. You take turns with
COMPUTE AUGUST 1993
the computer, playing or dis-
carding cards from your
hand, trying to accumulate dis-
tance toward a goal of 1000
miles. Along the way you play
cards against the computer's
hand and try to inflict your op-
ponent with all sorts of calam-
ities, including flat tires and ac-
cidents. You see where atti-
tude can creep into the game.
According to comments
posted on Q-Link about this
game, some of its more ob-
scure rules aren't supported in
this version. | wouldn't know,
since | don't play the original
enough to remember any of
the more obscure rules! All |
know is that this little gem of a
game is addicting.
The computer is a bland ad-
versary, of course. | miss the
scowl | used to get from my
wife when | would gleefully
slap down an accident card.
She doesn't play Mille Bornes
on our 128 much. She's too
busy playing Monopoly on the
IBM.
Maximum Overdrive
By Dan Komaromi.
QuantumLink filename: OVER-
DRIVE; uploaded by DigiDan.
I'm not sure what category to
put this piece of programming
genius into—it's certainly not
a game.But what the heck:
Here it is, and it's absolutely
my favorite 64 download of all
time. Like | just said, it's not a
game. It's not a utility either, re-
ally. It doesn't exactly keep
you glued to your monitor; in
fact, it works the best when
you aren't even around.
Let me explain. Maximum
Overdrive is the sneakiest buck-
et of surprises you'll ever
dump on your unsuspecting
64. When you first run it, you
are presented with a menu of
interesting-sounding options.
Once you make your choice,
your beloved Commodore com-
puter disappears and is re-
placed by nothing less than its
evil twin. Oh, it looks just fine—
same blue screen, same friend-
ly blinking cursor, same every-
thing. But, oh, what horrors
lurk within!
For example, when you en-
ter an innocent LOAD com-
mand, the computer might
snap back with LOAD IT YOUR-
SELF! With another setting,
your usually complacent 64 re-
acts to a keypress by snarling
that it's trying to sleep. It then
turns off its monitor.
There's a startlingly impres-
sive self-destruct mode which
really grabs your attention if
you have the volume cranked
up. There’s even an option
which looks for all the world
like you've accidentally con-
nected with NORAD comput-
ers somewhere and have
launched a few missiles.
The author, who calls him-
self DigiDan on Q-Link, has
had his programs published in
several magazines, and his ex-
pertise shows in the slick inter-
face as well as in the nifty
screen tricks. He includes
some extra touches, such as
allowing you to disable the
Run/Stop key and type in your
own bits of nastiness for the In-
sult section. Koramoni em-
ploys some excellent raster in-
terrupt effects, a good dose of
SID chip sound magic, and an
oversized helping of clever-
ness to make your 64 go off its
electronic rocker.
The general idea is to set
up your computer with one of
these fake startup screens
when you are going to be
away from your keyboard.
Should some unsuspecting vic-
tims try to use it, they'll be left
wondering how they managed
to make the whole system go
kaflooie when they just typed
a simple command. |'m not
sure why | like this program so
much because | don't have
anyone to pull these tricks on,
but | get a bang out of watch-
ing them run.
| know. Get a life! o
Fun f Gr aphis
Haye MACHIN!
T CAN BE
WH:
vl Pmt te Be YOUR IMAGINATION,
ISINESS CARDS
‘custon LABELS
sl
ATED W
STA FEW EXAMPLES?
2.
22,
aan
SEVxAmD
<a
BSn>5
37 Dzz7
~woce-
T
T
PUTE
UNTH
Ews
w
0
|
QaROnP>an
DVr=-on
ING
RAP, PHics MACHINE,
L KEYBOARD OUERLAY ---$3.5)
64, C128, SX-64) OR C64 IS SaipeeD
DISK THIS IS A PREVIEW Je
1S ALL ABOUT
ULL te VERSION OF FGM
AMAT $5.01
CS MACHINE
RAPHICS MAC
FOLLOWING DISKS REQUI
ES)
SESOE =m
>omom
<><
Yoo 2
AD
a
et
Fem, ET Ee
FGm UPDATE DISK V6.5 UPD
PLEASE ADD FOR SHIPPIN
GH eRe FoF AIR
a)
De -oeDDD
on
bt
>:
=
mi
21
=}
3
=
S
m,
=
=
|
°
=
a
Bx
ct
LIA
ORAY HO. CHARGE CHADS
The FGM Connection, P.0.Box 2206, Roseburg, OR. 97470
FOR MORE INFORMATION CALL 503-673-2234
UGUST
SALE!! ie ~64 28 (-128
wild 7/20 - 8/31/93 -
Take 20% “off price belov! ‘plus/4 1 C-16
SSeS AMM ET Of. Sifes, or ID /COST/ oH
KJV Bible--2 sides Hus., A or 8 PS Grap Ganes 36/3544
C: SpHario3 ,Krakout Poker i Ganes-Fin-Grafpx & DBase 06/ S+2
D: 128 Potpourri -Util.--brod.--Educ.--Gane--Teleconn 06/ 5#2
Es fle Combo --Utjl,--Prod.--Educ.--Gane--Telecona 06/ S¢2
F: Bks-d8p Inst. Activities C= or Apple...fun...Logot Bk/ 1#2
G: Ed Pak A Hath/Sci/Eng /Gen. Educ. = 145 programs 12/13+2
H: Ed Pak 8 Math/Sci/Eng /Gen, Educ. = 600 prograns 06/7047
J: GamPak A-d Hario Bros & Tetris Clones (64/64c/128] 02/ 9+1
K: GawPak B-Trashnan, Starraider Air Denon, Outpost+ 02/ 9+1
L: Prine 554 aales, females, children PS¢ + prearant 07/ 842
Ht Disk Notcher-Use the backside of your 0S/0D disks! OK/ 341
0: KJV Bible-+/4--Text files + 1 side of pleas 30/3044
P: Game Pack C/C-128--60+-Star Trek - Concentration + 10/1342
Q: Musique Classique---Husic by Bach, Chopin, others 03/ 7#2
R: Pets - 347 Domestic aninals PS Graphics, & progs 05/10#2
$: Sports-419 wix--Bsbll, Ftbl1/+ PS Graph. & progs 05/L0+2
T: Cartoon Characters -A nixture of 202 PS Graphics 02/ #2
U: Conptr Parade-255 PSG-Apple/ C= /IBK Logos, & wore 02/ S#2
Yi Fastead Yt (Enhanced CAD 3.0) and support files 05/102
W: Fun Graph Hachine Deno + UT +50 fonts tHi-Res Duap 03/ 6+2
Xs 1941/71/81 Utilities--Readers/Copiers/Hovers, etc. 06/12+3
Y: GEOS: Programmer Hanual-89p, & V1.0 Docunents-27p. 03 /8+2
Please tents PSG ) A/3BLk/Non-C= or 8/2B1k/Comnodore Printer!
»)))) Nat labje- Ita oe Poni t/4 BC-16 8 C-bd. MCKKK
JH-00 att te Tine-Conbo of 25 Religious Progs. +/4/64 03/ +1
JH-OL --Plus/4 Game Pack-- A combination of 150+ games 19/30+5
JH-03 --C-16 Conbination of 50+ programs. Runs of +/4. 02/ dtl
JH-05 --H.A.L.(update)-Assenbler +/4 & Speedscript +/4 04/ 941
Send SASE for info. on HEHL itens, golden oldies, & new iteas,
CATALOGS: C64/128-47p-$2+2 - +/4-18p~ MHL ax Pyat: MO/CHK (US$)
Ca, Res. +8.25% tax/iten total No C00’s! Shipping--USPS
TO Kenneth Franklin/KFPO Software-P0B 470464-LA,Ca. 90047-0464
PO Select Library aainly. We are in our third year! Thanks! |
Circle Reader Service Number 197
If you own a CMD device, you
NEED the Compression Kit
NEW!
THE COMPRESSION KIT
$39.85
ckup. Sseyiieaiuring fast data
; commodore 64/128
jers away and
te
ives, 1541 1571/
Hard
r that puts
for $39, 95 t to:
Mad Man Software
1400 East College Drive
Cheyenne, Wy. 82007
For order info call ...1(800)34-MADMAN
For general info call.......1(307)632-1178
For fax inquires. 1(307)637-4883
Be sure to enclose a return address. No P.O.Box
numbers please.
Circle Reader Service Number 260
SOFTWARE CLOSEOUTS
For Commodore 64 & 128
ANY ITEM IN THIS AD.... ONLY $5
BUY 10, GET 1 EXTRA FOR FREE!! ALL PACKAGES ARE NEW SEALED BOXES.
SUPER EXPANDER 64, STARCROSS, ALCON, UNDER FIRE, MACBETH, RASTAN,|
BUBBLE BOBBLE, PET EMULATOR, ARKANOID, ARKANOID 2, QIX, SKY SHARK,
CHAMPIONSHIP BASEBALL, DAMBUSTERS, DEADLINE, ONE MAN & HIS DROID,
PLASMATRON, PRO-GOLF, SPITFIRE ACE, HELLCAT ACE, SUSPENDED, ZORK 2,
ZORK 3, SILENT SERVICE, RENEGADE, ARTURA, BUTCHER HILL, CONFLICT IN
VIETNAM, REVENGE OF DEFENDER, FINAL ASSAULT, PRESIDENT ELECT,
GHOSTBUSTERS 2, SKATE WARS, PUFFY'’S SAGA, CHESSMASTER 2100,
SONGWRITER, TERROR, SUSPECT, GHOSTWRITER 128, RICK DANGEROUS,
T.V. SPORTS FOOTBALL, EASY SPEECH, SPACE HARRIER, M.A.C.H., F-15
STRIKE EAGLE, AIRBORNE RANGER, RAMBO 3, FAST BREAK, ACROJET,
HEROES OF THE LANCE, NETHERWORLD, XENOPHOBE, DIE HARD, TAKE
DOWN, THE GAMES:WINTER, THE GAMES:SUMMER, GOLDEN OLDIES,
WORLD'S GREATEST FOOTBALL, MINDSHADOW, SKYFOX, PITSTOP 2, RAW
RECRUIT, WHEEL OF FORTUNE 2, ACE OF ACES, TOP GUN, TOWER TOPPLER,
MANIAC MANSION, BEYOND THE BLACK HOLE, ROADWARS, CALIFORNIA
GAMES, DREAM TEAM, SERVE & VOLLEY, DEVON AIRE, FIREZONE, FIGHT
NIGHT, JET BOYS, SUPER SUNDAY, BOP 'N RUMBLE, TRI-MATH, TECHNO-COP,
MAGIC MADNESS, TURTLE TOYLAND JR., RAMBO, STATIS PRO BASEBALL,
SGT. SLAUGHTER, CLUBHOUSE SPORTS, DIG DUG, CUTTHROATS,
CROSSBOW, COMICS, KIILLED UNTIL DEAD, PS! 5 TRADING CO., COMPUTER
DIAGNOSTICS, PRO TOUR GOLF, COSMIC RELIEF, TAU CETI, GREAT ESCAPE,
ARMY MOVES, CAPTAIN FIZZ, INTO THE EAGLE'S NEST, GAUNTLET 2,
BOSTON COMPUTER DIET, BAD DUDES, BATMAN CAPED CRUSADER,
MONDAY NIGHT FOOTBALL, ROBOCOP, EYE OF HORUS, MATH MAZE,
DESIGNASAURUS, EUROPEAN NATIONS, PRO TENNIS TOUR, B.A.T.,
WARLOCK, THUD RIDGE, DARK CASTLE, SUMMER GAMES 2, WINTER GAMES,
IMPOSSIBLE MISSION 2, SUB BATTLE, WORLD GAMES, TONY LARUSSA
BASEBALL, PARALLAX, SPY VS. SPY, NINJA, PENSATE, QUEST OF THE SPACE}
BEAGLE, MAXWELL MANOR, PLAQUE MAN, BATTLESHIP, GUDERIAN.
MENTION THIS AD TO RECEIVE THE $5 PRICING & FREE BONUS ITE!
‘0 ORDER: Send check or money order,
VISA/MC ORDERS CALL TOLL-FREE [nipping charges of $5 for USA. Sb force
II others, California addressesmust include 728%
jsales tax. To check for an item not listed
544-6616.
aa ay rice Pea
COMPSULT -
WE HAVE LOTS MORE C-64/128 PLU:
P.O. BOX 5160 TONS OF SOFTWARE FOR IBM,
SAN LUIS OBISPO, CA 93403) APPLE, MAC, AMIGA, ATARI & MORE!
Circle Reader Service Number 114
Read a file
with BASIC’s INPUT#
statement and
chop any extra
Returns that
may Cause a crash.
G-18
MACHINE LANGUAGE
Jim Butterfield
FILE-END TRIMMER
Last time, we learned that a
file that ends with more than
one return can cause trouble
when used with the BASIC IN-
.PUT# statement. Now, let's
write a program to detect and
correct this problem.
A BASIC program will poke
the ML code into place.
Phase 1 then checks the file,
and phase 2 copies the file,
chopping any extra returns.
The detection phase uses a
brief ML program at $2200,
decimal 8704. The file is cor-
rected, if needed, by a longer
ML program at $2217, deci-
mal 8727. This is the code
we'll examine here.
File-copying programs
must deal with ST, the status
word, found at address $90.
We must read the ST value
right after we reference a file
so that it won't be changed by
some other file activity.
Our program reads from
one file and writes to another.
We must check ST (for end-of-
file) after each read. We have
an input character to dispose
of, SO we may need to write to
the output file before we act
on the end-of-file signal.
We'll test ST right after per-
forming an input and push the
test results to the stack. Later,
we'll act on those results.
Here’s a second puzzle.
Our task is to remove extra re-
turn characters from the file
end. But, as we read the file,
we don't know if we're near the
end. We must not copy re-
turns until we know it's safe.
When we read a return char-
acter from the input stream,
we won't output it. We'll count
it, using location $2100 as a
counter. If we find more text,
we'll output the correct num-
ber of returns before continu-
ing. I'll comment on selected
Parts of the program.
Initial code zeroes the count-
er at $2217. We enter the main
read loop, and the input
COMPUTE AUGUST 1993
stream switches to logical file 1.
We grab a character and
test the ST variable, pushing
the result to the stack with PHP.
2221 JSR $FFE4
LDY $90
PHP
We skip ahead if we didn't
get a return. Return needs spe-
cial work: We count it and
then check to see if we're at
the end of the input file. That
information is on the stack, re-
member? If we're not at end-
of-file, we keep reading.
CMP #$0D
BNE $2237
INC $2100
PLP
BEQ $2221
If it's a return at the end of the
file, we push the test results
back on the stack and zero
the counter to get rid of the ex-
cess returns.
PHP
LDY #$00
STY $2100
The program reaches
$2237. Either we've received
a character (still in the A reg-
ister) which is not a return, or
we're at end-of-file. Push the
input character to the stack,
disconnect the input stream,
and hook the output stream
to logical file 2.
2237 PHA
JSR S$FFCC
LDX #$02
JSR = $FFC9
Is the return counter 0? If
so, skip the next bit.
LDX $2100
BEQ $2250
Location $2245 sends the re-
turns using a loop. We'll omit
that code. The next step out-
puts the character that was
received.
2250 PLA
JSR $FFD2
JSR = $FFCC
We check the end-of-input
condition, still on the stack.
We either loop or quit.
PLP
BEQ $221C
RTS
Here's the whole program in
the form of a BASIC loader.
ES 100 PRINT "FILE END TRIMMER
- JIM BUTTERFIELD"
DATA 162,1,32,198,255,1
69,0,141,0,33,32,228,25
5
XR 110
GS 120 DATA 164,144,240,246,14
1,1,33,76,204,255
DATA 169,6,141,8,33,162
71,32,198, 255
DATA 32,228,255,164,144
,8,201,13,268,12
DATA 238,5,33,40,240,24
0,8,160,0,140,0,33
DATA 72,32,204,255,162,
2,32,201,255,174,0,33
DATA 24G,11,169,13,32,2
16,255,202,208, 248,142,
0,33
DATA 104,32,210,255,32,
204,255,40,240,194,96
FOR J=8704 TO 8794
READ X:T=T+X
POKE J,X
NEXT J
IF T<>11245 THEN STOP
INPUT "NAMF OF FILE"; FS
JQ 310 OPEN 15,8,15
PJ 320 OPEN 1,8,2,FS
AQ 136
HQ 140
HM 150
PC 160
GB 330 INPUT#@15,E,ES:IF E<>@ T
HEN PRINT ES:STOP
QH 346 SYS 8704
SB 350 CLOSE 1
SD 360 CLOSE 15
IF PEEK(8449)<>13 THEN
{SPACE}PRINT "FILE DOES
NOT END WITH <RETURN>.
"SEND
IF PEEK(8448)<>13 THEN
{SPACE}PRINT "FILE ENDS
WITH A SINGLE <RETURN>
-"2END
PRINT "FILE ENDS WITH M
ULTIPLE <RETURN> CHARS.
SE 380
XS 393
XB 400 INPUT "SHOULD I CLEAN I
T UP?";X$
XS=LEFTS (X$,1)
IE X$<>"¥" THEN END
INPUT "NAME OF REVISED
{SPACE} FILE"; R$
OPEN 15,8,15
OPEN 2,8,3,"0:"+RS+",S,
wt
INPUT#15,E,E$:1IF E<>0 T
HEN PRINT E$:STOP
OPEN 1,8,2,FS
INPUT#15,E,E$:IF E<>0 T
HEN PRINT E$:STOP
QE 499 SYS 8727
QM 5G CLOSE 1
PP 516 CLOSE 2
EQ 528 CLOSE 15 o
HP 410
AF 4208
AD 439
AH 440
Ds 459
MK 466
PF 470
ce 486
The Gazette
Productivity
Manager oy,
Harness the productivity SS
A
power of your 64 or 128!
Turn your Commodore into
a powerful workhorse, keep track
of finances, generate reports
in a snap, manage your
money in minutes—
all with the
Gazette Productivity
Manager! Look at all
your 64/128 Productivity
Manager disk contains.
GemCalc 64 & 128—
A complete, powerful, user-
friendly spreadsheet with all
the features you'd expect
in an expensive commercial package
(separate 64 and 128 versions are included).
Most commands can be performed with a single keypress!
YOUR GAZETTE
PRODUCTIVITY
MANAGER
TODAY!
Memo Card—Unleashes the power of a full-blown
database without the fuss! Nothing’s easier—it’s a
truly simple computerized address file. Just type in
your data on any one of the index cards. Need to edit?
Just use the standard Commodore editing keys.
Finished? Just save the data to floppy. What could be
easier?
(MasterCard and Visa accepted on orders with subtotal over $20).
CLYES! Please send me Productivity Manager disk(s)
($14.95 each).
Subtotal
——____ Sales Tax (Residents of NC and NY please add appro-
priate sales tax for your area. Canadian orders, add
7% goods and services tax.)
—____ Shipping and Handling ($2.00 U.S. and Canada, $3.00
surface mail, $5.00 airmail per disk.)
Financial Planner—Answers all of those questions
concerning interest, investments, and money manage-
ment that financial analysts charge big bucks for! You
can plan for your children’s education and know
exactly how much it will cost and how much you need
to save every month to reach your goal. Or, decide
whether to buy or lease a new car. Use the compound
interest and savings function to arrive at accurate
estimates of how your money will work for you.
Compute the answer at the click of a key!
DON’T MISS OUT ON THIS
POWERFUL WORKHORSE!
Total Enclosed
— Check or Money Order
Credit Card No.
—MasterCard _ VISA
Signature
(Required)
Daytime Telephone No.
Name
Address
city
State/ up/
Province Postal Code
Send your order to Gazette Productivity Manager,
324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408.
This column
celebrates its fifth
anniversary with
some more great tips
sent in by readers.
G-20
PROGRAMMER’S PAGE
Randy Thompson
HAPPY
ANNIVERSARY!
“Programmer's Page” is five
years old this issue! It made its
debut in the August 1988 edi-
tion of Gazette. I'd like to take
this opportunity to thank all of
my readers for your interest;
support; and, most important,
your great contributions. This
column, after all, is a forum for
your programming expertise.
To celebrate our anniversary,
I've assembled a few of the
best ‘Programmer's Page”
tips ever published.
Selective RESTORE
This bizarre tip—written by
yours truly—comes from the
very first “Programmer's
Page.” This short routine re-
stores BASIC's data pointer to
any line number, just like the
128's RESTORE command.
To use it, execute the follow-
ing instructions once within
your program.
BD 16 POKE 784,108:POKE 785,12
2:POKE 786,
PQ 20 DEF FN RS(N)=USR(N)+POS(
" {A}LUF {TH{2 EFP<{GP<
L'¢2 £}")
Then, add the following com-
mand to your program.
X=FN RS(/ine number)
In this case, line number is
the line number of the DATA
statement at which you want
your program to READ. In oth-
er words, RESTORE to this
line. The line number can be
a number, variable, or even
an expression such as
1000+1*10. If you want, you
can replace X with a variable.
Just be warned that the value
of the variable used will be
scrambled.
Be especially careful when
entering line 20. A single typo
could cause the computer to
lock up when the program is
run. Note that there are no
spaces between the USR
COMPUTE AUGUST 1993
statement, plus sign, or POS
statement.
To ensure accurate typing,
use The Automatic Proofread-
er; see “Typing Aids” else-
where in this issue. To help fur-
ther, here's an English transla-
tion of how to enter those
weird characters found within
quotation marks in line 20:
space, Ctrl-A, Commodore-
U, space, Ctrl-T, two Commo-
dore-English Pounds, Shift-F,
Back Arrow, Commodore-G,
Back Arrow, L, single quote,
and two Commodore-English
Pounds.
If you're looking for a chal-
lenge, try to figure how this tip
works—without looking in the
August 1988 Gazette.
MIDS Magic
Most programmers use BA-
SIC’s MID$ function on the
tight side of an equal sign, as
in A$=MID$(B$,3,1). On the
128, however, MIDS can also
be used on the left side. For
example, if AS equals
123456789 and BS equals
ABC, the instruction MID$
(A$,4,1)=B$ sets A$ equal to
123A56789, while the instruc-
tion MID$(AS$,4)=B$ sets AS
equal to 123ABC789.
Using this technique, you
can stuff one character or a
group of characters into the
middle of another string with-
out juggling LEFTS and
RIGHTS functions. Credit for
this useful string-handling ad-
vice goes to Michael Ver-
diguel of Lawton, Oklahoma.
Unscrollable Lines
Here’s a short machine lan-
guage subroutine from Sean
Ganess of Woodside, New
York, that protects the top two
lines from being scrolled off
the screen. You can still print
text to these lines and erase
them by clearing the screen,
but they are unaffected by
scrolling text. You might want
to use this feature to display
such things as your location
in an adventure game or to
show the disk drive status in
a utility program.
FR 10 GOSUB 3000:END
GF 3000 FOR I=828 TO 875:READ
{SPACE}D:POKE I,D:C=C+
D:NEXT
IE C<>6376 THEN PRINT
{SPACE}"ERROR IN DATA
{SPACE} STATEMENTS" : END
XK 3010
CF 3026 SYS 828:POKE 59639,1:P
OKE 64982,53:POKE 1,53
HQ 3636 RETURN
FJ 3040 DATA 169,0,132,38,169,
224,133,39,177,38,145,
38,266,208,249,230,39,
165
QA 3G5@ DATA 39,201,0,208,241,
160,0,132,38,169,160,1
33,39,177,38,145,38,28
6,208
DATA 249,230,39,165,39
201,192,208,241,96,0
KJ 3060
To use this program, simply
GOSUB 3000 whenever you
want to protect the top two
screen lines. This subroutine
needs to be executed only
once when your program is
first run.
Missing Data
Neglecting to put numeric da-
ta between the commas in a
DATA statement is the same
as including the digit 0. For ex-
ample, check out the follow-
ing program.
10 FOR I=1 TO 10: READ D:
PRINT D:NEXT
20 DATA , 5555545
Line 20 produces the same re-
sults as the following.
20 DATA 0,0,0,0,0,0,0,0,0,0
If you are reading string da-
ta—as in the command READ
D$—the missing data is inter-
preted as a null string. This
tip came courtesy of Doug
Ross of Merrickville, Ontario,
Canada.
Send your programming tips
to Programmer's Page, COM-
PUTE’s Gazette, 324 West
Wendover Avenue, Suite 200,
Greensboro, North Carolina
27408. We pay $25-$50 for
each tip that we publish. O
Gazette
Index
Everything’s included!
Features, games, reviews,
education/home applications,
programming, bugswatter,
feedback, and columns!
A superb interface includes pull-
down menus, help screens, and
keyboard, joystick, or mouse con-
trol. Features include super-fast
searching and sorting capabilities.
An options screen allows you to
choose text colors, drive number,
and input device. And there’s full
documentation on disk.
Choose from three modes of opera-
tion—browse for quick scanning,
view for detailed information and
descriptions, and edit for adding
items from upcoming issues—and
print to any printer. There’s even a
turbo-load option for maximum
disk-access speed.
ORDER YOUR
GAZETTE INDEX
TODAY!
(MasterCard and Visa accepted on
orders with subtotal over $20.)
To order, send $7.95 per disk, the
quantity of disks ordered, check
or money order,* your name and
complete street address:
Gazette Index
324 West Wendover Avenue
Suite 200
Greensboro, NC 27408
* Please add $2 shipping & handling ($5 foreign) for
each disk (residents of NC, NJ, NY please add appli-
cable sales tax; Canadian orders, add 7% goods
and services tax).
All payments must be in U.S. funds. Please allow 4
weeks for delivery.
KeyDOS ROM Version 2 is here!
The KeyDOS ROM is a chip for the empty socket inside your C128 that adds more than 40
powerful features, KeyDOS is available instantly as soon as you switch on your 128!
KeyDOS js loaded with useful tools to simplify file access on multiple drive systems without typ-
ing file names—all major DOS functions included. Select multiple files for copying, viewing,
printing, renaming or scratching. ASCII/CBM/Screen code converter, Full support for 1581
subdirectories. Built-in RAMDOS for REUs up to 2MB. New GEOS SupeRBoot.
Alarm clock. Disk editor. Powerful debugger.
Only $32.50. Satisfaction Guaranteed! Write for more information.
Enhance your system with the speed and convenience that KeyDOS provides!
Antigrav Toolkit, PO Box 1074, Cambridge, MA 02142
Shipping outside of US, Canada and Mexico add $3
Circle Reader Service Number 244
NEW GEOS SOFTWARE
THE LANDMARK SERIES
Dual Top - The PREMIER Desk Top replacement. Provides full four drive support, RAM drive
priority system, one click access to major file functions, comprehensive error reports, full set of
keyboard shortcuts, multiple user options nl many more features. 40 and 80 col modes.
GeoSolitai
Checkerboard - Pla
To
REU users: Battery Back any 17xx, or ‘GEORAM, with the BBU. Use with GEOS (V1.3 up),
RAMDOS or other programs that use REUs. Great for BBS. No heavy power supply needed.
GEOS users: BBGRam, Battery backed RAM for GEOS 2.0. A fast, reliable altemative to
mechanical drives. Supports all drive types, multiple partitions and alternate DESKTOPs.
PERFORMANCE PERIPHERALS, Inc.
5 Upper Loudon Road, Loudonville, NY 12211.
US orders, literature: 800-925-9774. Tech support, orders, FAX: 518-436-0485.
BBU $59, BBGRam 512K $89, BBGRam 1M$119, BBGRam 2M $159.
US S&H $8. US COD $4. Canada & Mexico S&H $10. Other countries S&H $19.
30 day money back guarantee. £0 day warrantee. Master Card / VISA welcome.
Circle Reader Service Number 153
- ‘the MOST POWER for the BUCK’
Qi | Nn wer that only AMIGA owners have enjoyed until now"
im = fates an A-... pushes the C-128 to the edge of the graphics envelope’
RUN Oct. 1991
= 640 by 400 pixel — that
T= Inter lace! ATLEAST DOUBLE the see ured by Ey olka propia software
T= Incredible! 1 Paint 's Iiuerace s sereen offers the unique ability to blend colors for
Supports 24 pin, COLOR, & LASER Printers, & RAM Expansion!
I Porta. trectescen
Manager
g0714
oy GIF, MAC, GEOS, Basic8, Doodle, Print Shop! PO Box
Expon I Paint GIF! Define ction GIF pales! Minneapolis, MN
NOW Version 1.2 - UP TO 3 TIMES F/
Prices for U.S.A. Check or money ordar only. MN res. add 6-1/2% sales tax. Alow 2 - 4 weeks for delivery.
Circle Reader Service Number 146
Fast Action Arcade Style Game
for the Commodore 64/128+1541
; $24 95 plus $3 Shipping and
Sliders e Handling in the U.S.A.
S/H in Canada $5 and $10 for all others.
— American Currency Only —
Rand Cues feroStorm Software.
Order to: Box 1086, Sidney, MT 59270
Circle Reader Service Number 289
G-21
How many
combinations of
fives, tens,
and twenties can you
G-22
find that
will total $200?
BEGINNER BASIC
Larry Cotton
BUCKS IN A POT
Let's get back to reviewing BA-
SIC statements, specifically
FOR-NEXT loops. Here's a
quick review. FOR-NEXT (or
FOR/TO/STEP/NEXT as the
Commodore 128 Program-
mer's Reference Guide calls
it) executes repetitive loops.
We've seen how each FOR-
NEXT loop requires seven sep-
arate and distinct elements
and how STEP can be less
than 1, more than 1, or aneg-
ative value. (Omitting STEP
yields a step size of +1.) Here
are some simple examples.
10 FOR J=1104
20 PRINT J
30 NEXT
10 FOR J = .5 TO 3.5 STEP .5
20 PRINT J
30 NEXT
10 FOR J = 10 TO 1 STEP -2
20 PRINT J
30 NEXT
A very common use for
FOR-NEXT is to load arrays.
We've studied arrays in this
column before, but if you
don't understand or remem-
ber them, we'll get back to
them soon. For now, just
think of an array as a group of
pigeonholes that need num-
bers stuffed into them. The pi-
geonholes_ usually have
names such as A(1) or B(4).
Here's how to fill a small one-
dimensional array using a
FOR-NEXT loop.
10 FOR J=170 10
20 A(J) = 25
30 NEXT
This simple pigeonhole
stuffer will make each varia-
ble A(1) through A(10) equal
to 25. Here’s how you can
make the variables equal the
counter as it's increased.
10 FOR J=110 10
COMPUTE AUGUST 1993
20 A(J) = J
30 NEXT
You can read DATA state-
ments and place them into
the arrays, too.
10 FOR J=11T07
50 DATA 12, 2, 52, 41, -3, 3.5,
-7.34
After this program runs,
A(1) will be 12, A(5) will be
-3, and so on.
Let's take another look now
at nested FOR-NEXT loops.
Here's an example.
10 FORA=11T03
20 FORB=31T04
30 PRINT “‘A="A,"B="B
40 NEXT B
50 NEXT A
The A loop is the outer one,
and it loops a total of three
times. The B loop is the inner
one, and it loops twice for
each value of A. The use of
the variable names after
NEXT is optional, but it can
help keep things straight.
Now, let's get to the meat
of this month's column. The
other day, a friend called to
ask for help with his third-
grade son Derek's homework.
The problem, as we under-
stood it, was to calculate how
many combinations of twen-
ties, tens, and fives could be
in a pot of $200. Naturally, |
don't need much inspiration
to write a BASIC program. So
| wrote one to solve the prob-
lem, and it just happened to
use nested FOR-NEXT loops.
Here it is.
10 PRINTCHRS(147)
20 INPUT“HOW MUCH IS IN THE
POT”;P
30 TW=P/20
40 FORI=0 TO TW
50 R=P-1*20
60 TE=R/10
70 FORJ=0 TO TE
80 C=C+1
90 NEXTJ
100 NEXTI
110 PRINT:PRINT' THERE
ARE”C'‘COMBINATIONS.”
Line 20 asks the user for a
pot value. Enter the number
only, not a dollar sign. Line 30
finds the maximum number of
twenties (TW) which can be in
the pot. Then we start a loop
in line 40 which counts up
from no twenties to TW.
Lines 50 and 60 calculate
the maximum number of tens
there can be in the pot for
any given number of twenties.
Our inner loop (J) begins at
line 70 and counts up from no
tens to the maximum number
of tens for each value of |, the
twenties counter.
Inside the inner FOR-NEXT
loop is another counter (C in
line 80) which simply incre-
ments every time the inner
loop is used. For each num-
ber of tens for a given num-
ber of twenties, there will be a
certain number of fives neces-
sary to arrive at the total pot.
Therefore, we've counted all
the possible combinations!
If there were ones in the
pot, you would need another
FOR-NEXT loop which would
increment (or decrement) the
fives while holding the twen-
ties and tens constant. The
number of combinations
would become staggering.
This seemed like a tough
problem for a third-grader to
solve. We discovered later
that the actual assignment was
to find just some of the possi-
ble combinations—not all of
them! Anyway, it was an inter-
esting problem and a good ex-
cuse to write a BASIC pro-
gram. By the way, there are
121 possible combinations of
twenties, tens, and fives in a
pot of $200. With larger pots,
watch the time it takes to cal-
culate the combinations grow
exponentially. 0
GEOS
Steve Vander Ark
IMPORTING GEOS
GRAPHICS
Two of my favorite subjects
are graphics and geoPublish,
and last month | talked about
both. | described differences
between geoPaint's bitmap-
ped graphics and geoPub-
lish's object-based ones.
This fundamental differ-
ence between the two formats
is important for you to under-
stand, lest you find yourself
confused and _ frustrated.
Once you get the hang of ob-
ject-based graphics, though,
you'll love the freedom that
they give you to experiment
and to create.
Working with geoPublish,
you'll most likely want to use
clip art with your documents.
Most of this art will be in
bitmap format, which means
that it's stored as a fixed set of
dots laid out to form an image.
This graphics don't use the
same format as those created
by geoPublish itself, but that
doesn't mean that you can't
use them. You can import
these bitmaps very easily.
Each mode of geoPublish
has an import tool. In both
Page Graphics and Master
Page modes, the bitmap ap-
pears where you click the
cross hairs on the page.
Once imported, the bitmap is
an object on its own layer, just
like any other object on the
page. Remember, if you en-
large this image, you won't be
adding more dots to the im-
age; you'll only be making the
existing dots bigger. As a re-
sult, an enlarged bitmap
looks blocky and jaggy. Geo-
Publish offers a smoothing op-
tion which helps by rounding
off some of the sharp edges,
but this doesn’t always make
it look better.
In Page Layout mode
things work a little differently.
You can still resize an image
and change its attributes, but
the way you move a bitmap on-
to your page is unique to this
mode. In Page Layout mode
you create rectangular areas
(regions) on the page in
which to place text or, in this
case, bitmaps. Before you can
import an image, you must de-
fine an area in which the im-
age will be located. This re-
gion can contain only the
graphic or text file you specify
for it. If you place a region on
top of another region, you
won't be able to see through
the one on top. And if you
place the region on top of a
text region, the text will adjust
around it.
This is very useful for mixing
text and graphics on a page.
You can create a large text re-
gion, then create graphics re-
gions on top where you want
the bitmaps to appear. The
text will flow around those re-
gions as pretty as you please.
In Page Graphics mode,
however, if you place a graph-
ic in the middle of a text area,
the two will just overlap. This
also can be a useful tech-
nique if you change the pat-
tern of the bitmap to gray in-
stead of black, allowing the
text to stand out. But if you
want text to flow around graph-
ics, you'll want to import those
graphics in Page Layout
mode.
Remember that | said that
the regions you create in
Page Layout mode are rectan-
gular. The text will flow around
that rectangular area, not
around the edges of the im-
age itself. There’s no built-in
way to make text flow around
an irregular edge. You can sim-
ulate this effect by creating a
number of text regions, each
sized to hold a few lines of
text and each fitted to the edg-
es of the graphic image. The
problem occurs if your graph-
ic was imported in Page Lay-
out mode. This mode won't let
you cross its straight region
edges with your text regions.
lf you import the image in
Page Graphics mode it won't
be visible in Page Layout
mode at all, which means it'll
be next to impossible to fit a
text region next to it with any
precision. Probably the easi-
est way to simulate text flow-
ing around an irregular graph-
ic is to create text which has
a built-in flow created by press-
ing the Return key at the end
of the lines in strategic places,
then fitting the graphic to it in
Page Graphics mode.
There is one other way to
get graphics onto your geoPub-
lish page. You can first import
them into a geoWrite docu-
ment which you then import in-
to your geoPublish document.
The graphic gets imported as
well as the words. It even
keeps its formatting within
that text area (centered, for ex-
ample). This method works par-
ticularly well if you want the
graphics to be tied to the text,
such as in a fancy headline or
a letterhead. Of course, you're
stuck with geoWrite’s rather lim-
ited photo scrap size.
Let's think bigger for a min-
ute. It can be a bit of a hassle
to import photo scraps when
they're limited to the size of the
geoPaint window. There are
utility programs which will let
you clip photo scraps as large
as an entire page. One of the
best, called Scrap Can,
comes as a bonus on the geo-
Canvas disk from Creative Mi-
cro Designs. A shareware ex-
ample is Scrap It (Q-Link file-
name: SCRAP IT, uploaded
by TerryV7). These utilities will
in effect let you convert an en-
tire geoPaint page into a geo-
Publish page, although the
whole thing is then a single
large object. You can also con-
vert a geoPublish page froma
series of layered objects into a
large bitmap (in other words,
convert it into a geoPaint docu-
ment) with the program Paint
Pages, which comes in the
GEOS 2.0 package. 0
AUGUST 1993 COMPUTE
Get the most
from geoPublish by
importing
bitmapped graphics
and clip art.
G-23
Who is that little guy
rushing through
airports with duffel
G-24
hags stuffed
with more parts
than a small
electronics store?
D'IVERSIONS
Fred D'Ignazio
MULTIMEDIA
ROAD WARRIOR
My name is Fred D'Ignazio,
but most people know me as
the Road Warrior. For the past
ten years, I've journeyed to
more than 100 school districts
in North America, Europe, and
Australia as a multimedia evan-
gelist—a Johnny Appleseed
of new technology.
My mission began in the
mid-1980s in a kindergarten
classroom in Cahaba
Heights, Alabama. | had con-
ceived a concept of class-
room learning known as the
multimedia sandbox. Children
and teachers in the sandbox-
es scavenged common items
from around their schools
such as a computer, a tape re-
corder, a record player, a tiny
musical keyboard, a VCR, a
TV, a camera, and so on. |
then taught them how to use
$5 Radio Shack cables to con-
nect these items into a chil-
dren's multimedia publishing
center.
The idea caught on like wild-
fire in the Jefferson County, Al-
abama, schools. Pretty soon
we had 13 multimedia sand-
box schools and almost 100
children, parents, and teach-
ers who were learning to as-
semble, troubleshoot, and op-
erate these scavenged multi-
media workstations.
In early 1986 | was invited
as a featured speaker to one
of the foremost national confer-
ences for computer-using ed-
ucators. To prepare for the na-
tional debut of the multimedia
sandbox, | asked the confer-
ence organizers for the basic
elements of a scavenged work-
station (a computer, VCR,
camcorder, and so on) along
with presentation devices
such as a video projector and
a speaker system for a room
full of hundreds of adults. | ar-
rived at the conference fully ex-
Pecting all the equipment to
COMPUTE AUGUST 1993
be assembled for me. After all,
the Jefferson County kids and
teachers had mucked around
with this stuff for months.
Boy, was | surprised! None
of my stuff was ready. Techni-
cians were scratching their
heads and telling me that it
was impossible to plug acom-
puter's video-out jack into a
VCR and that it was not appro-
priate to use a common tape
recorder as an audio input de-
vice for a VCR. There were
none of the Radio Shack ca-
bles and adapters that | re-
quired to integrate the little de-
vices into a multimedia work-
station.
But | toughed it out. | reas-
sured everyone that such
things were being done every
day by five-, six-, and seven-
year-olds in Alabama. Then, |
rushed out of the hotel and ran
across town to a Radio Shack
and quickly purchased $25
worth of cables and adapters.
Back at the conference ho-
tel, | hurriedly plugged cables
to the equipment and comput-
er. A short time later, hun-
dreds of people arrived for the
demonstration of my multime-
dia sandbox. | turned on the
video projector. Uh-oh! The
bulb burnt out. | turned on the
large speaker that the hotel
had provided for my sound sys-
tem. No sound. No one could
hear or see my stuff.
I'd brought an hour's worth
of videotapes and computer
slides created by the Alabama
children on their scavenged
multimedia —_ workstations.
They included multimedia sto-
ry problems for math class; mul-
timedia book reports and biog-
raphies; and multimedia sci-
ence projects featuring animat-
ed black holes, beating
hearts, and dancing skele-
tons. | also had a wonderful
presentation by a team of kin-
dergartners and sixth-graders
titled “What Is a Principal?”
| couldn't show any of it. |
was stunned. What had be-
come simple for us in my kin-
dergarten classroom in rural Al-
abama was impossible to dem-
onstrate in a world-class tech-
nology conference in one of
America’s largest cities.
| survived that experience
by calling my audience to the
front of the room to see my
stuff on a little TV and comput-
er screen and to listen careful-
ly to the puny sounds coming
out of my portable speaker.
That's the day | first be-
came a multimedia Road War-
rior. | vowed that | would nev-
er be caught off guard again.
Since then, l've traveled
with all of my multimedia sup-
plies squashed into four dura-
ble Road Warrior bags. | carry
the two smaller ones on board
each plane and check the two
larger bags. If the two larger
bags don't show up at my des-
tination, | can do a “Multime-
dia Lite” presentation with the
cables and stuff from the two
carry-on bags. If I'm fortunate
and the airlines doesn't lose
the two bags that I've check-
ed, | can put on a whiz-bang
“Multimedia Classic” presenta-
tion full of rocket ships blast-
ing off, kindergartners’ digital
videos, and New Age music
composed by deaf children.
So if you're in an airport in
the coming months, watch for
me. |'m the small bearded
man, rushing from one airport
gate to the next, carrying two
small duffel bags, trailing
green and red Radio Shack ca-
bles, and spilling stacks of CD-
ROMs and disks on the floor
behind me.
It's a dirty, sweaty job, but
some day, people will look at
their gleaming multimedia TVs
and remember the early days
of multimedia, back to the
days of spaghetti-like cables,
the multimedia boxes that nev-
er seemed to work together. If
you jog their memories, they
may even recall a little man
with a vision—the guy they
called the Road Warrior. O
PROGRAMS
32 SPRITES
By Bill Soudan
As far as games go, most 64 users are
aware that they normally are limited to hav-
ing eight sprites (or MOBs, Movable Ob-
ject Blocks) to manipulate. There are pro-
grams, however, that can double or even
triple the eight-sprite limit, but these pro-
grams often impose restrictions or
cause annoying flicker—making the ex-
tra sprites almost worthless.
Thirty-two Sprites lets you quadruple
the 64's sprite limit without losing any flex-
ibility, while keeping flicker to the barest
minimum. Thirty-two Sprites can handle
up to 32 sprites at a time, and each
sprite can be placed anywhere on the
screen!
Thirty-two Sprites isa BASIC program
that lets you create a customized ma-
chine language routine for up to 32
sprites. To help avoid typing errors, en-
ter 32 Sprites with The Automatic Proof-
reader; see “Typing Aids" elsewhere in
this section. Be sure to save a copy of the
program before you run it.
Getting Started
Load and run 32 Sprites. After a short
pause, a main menu will come up.
This is where you can customize al-
most every aspect of 32 Sprites. To
change an item on the menu, type in
the number in front of the parameter
you want to change and press Return.
If the parameter can be turned on and
off, the program will first prompt you for
the desired setting. Next, the program
will ask you the new memory location.
You can enter the new location in ei-
ther hex (by preceding it with a dollar
sign) or in decimal. You may simply
press Return if you wish to leave the pro-
gram at its default location.
Menu Selections :
The first item in the menu is Starting Ad-
dress. This simply specifies the mem-
ory location where the machine lan-
guage code for 32 Sprites will begin in
memory. The next eight menu items cor-
respond to the computer's sprite regis-
ters. Each of these can be turned on or
off, and each can also place the shad-
ow registers anywhere in memory.
Because there are only enough reg-
isters in the VIC chip for eight sprites,
32 Sprites must set aside a section of
memory to handle 32 sprites. The hex
and decimal addresses listed next to
each of the sprite parameters indicate
where in memory the shadow registers
of that particular parameter will start.
You can place these shadow regis-
ters anywhere in memory. For exam-
ple, the default Y position shadow reg-
isters start at 52992 ($CFOO). To
change sprite 1's Y position, simply
poke 52992 ($CFOO0) with the desired Y
position. Each consecutive memory lo-
cation controls the next consecutive
sprite number, To change sprite 2's Y
position, poke 52993 ($CFO1) with the
desired number. This continues to loca-
tion 53023 ($CF1F), which controls
sprite 32's Y position.
Temp Page
The next menu item is Temp Page.
This is a workspace in memory, 256
bytes long, required to sort the sprites
from the least Y position to the greatest
Y position. All 256 bytes are used, and
this area of memory should not be
used by any other program.
Order Table
Order Table is the next menu item.
This is a 32-byte area needed by 32
Sprites to hold the order of the sprites
after they are sorted.
Extra Y Table
Because 32 Sprites uses interrupts to
function, changing a sprite’s Y position
while the VIC chip is drawing will
cause that particular sprite to flicker
and possibly will cause other sprites to
flicker as well. The Extra Y Table is a
copy of the Y position shadow regis-
ters, and it is used by the interrupt rou-
tine to prevent flicker. Again, this 32-
byte area should not be used.
How Many Sprites?
The last menu item lets you determine
the maximum number of movable ob-
ject blocks or sprites that you want to
use at one time. This number can be
changed to 16, 24, or 32. Note that
changing this register changes the
length of the shadow registers. If 32
Sprites is set to 16 sprites, only 16 shad-
ow registers are needed. This should al-
ways be set to the maximum number
of sprites which you plan to use in
your program.
Generating 32 Sprites
After you've set the parameters for
your sprites, it's time to generate 32
Sprites, which is a machine language
routine. This is item 14 on the menu.
A minute or two after selecting this
option, the program will generate the
code and supply you with its starting
and ending addresses in both decimal
and hex and with information on how to
enable and disable 32 Sprites. The pro-
gram will ask you if you'd like to save
the ML routine to disk. Respond with Y
or N.
If you wish to save 32 Sprites to
disk, press Y and the program will
prompt you for a filename. Type in
your choice of a filename and hit Re-
turn. Make sure a disk is in the drive.
Be careful because the program
doesn't check for disk errors.
After the program is saved or after
pressing N at the save prompt, the pro-
gram will ask if you want to print an in-
formation sheet. The info sheet is sim-
ply a listing of the starting and ending
addresses of the ML routine; the SYS
addresses that enable and disable 32
Sprites; and a copy of the main menu
parameters, with the on/off status and
address. If you'd like a copy, turn on
your printer and press Y. Once the print-
out is completed or after hitting N, the
program will clear the screen and end.
The 32 Sprites machine language is
now in memory and ready to be used.
Your Own Programs
With 32 Sprites, you can now write
your own BASIC programs that contain
up to 32 sprites. Before calling the SYS
address to start 32 Sprites, your pro-
gram must clear out the shadow regis-
ters; otherwise, a screen full of gar-
bage sprites will appear on the screen
when 32 Sprites starts. You can do
this by poking Os into the shadow regis-
ters with something like the following.
100 FOR J=0 TO 31: POKE 52992+J,0: NEXT
This line will set each sprite's Y position
to 0. Don't forget to do this to any oth-
er shadow registers which are being
used, too.
Once all registers have been
cleared and/or set up as desired, use
SYS and the starting address of the ma-
chine language program. Thirty-two
AUGUST 1993 COMPUTE G-25
PROGRAMS
Sprites will enable raster interrupts,
Clear out the temp page, and begin to
operate.
The best way to handle the shadow
registers is to define a variable at the
beginning of the program with the reg-
isters' location. Here's an example.
110 YPOS=52992: REM Y POSITION
SHADOWS
Then to change any given sprite's Y po-
sition, use the POKE command.
120 POKE YPOS+5,100: REM SPRITE 6'S
YPOS
Note that you subtract 1 from the
sprite’s actual number. To change
sprite 32's Y position, you'd add 31 to
the YPOS. To change sprite 1's Y po-
sition, you could use YPOS plus 0, or
simply YPOS.
The shadow registers of High X bit,
X expand, Multicolor, and Priority oper-
ate a bit differently. Each of these reg-
isters can be either off (by poking
them with a 0) or on (by poking them
with any number other than 0).
Each of the sprite parameters you
turned on before generating 32
Sprites with its BASIC generator can
be changed for each sprite by using
the corresponding shadow register.
Note that 32 Sprites doesn’t change
any registers in the VIC chip which you
turned off before generating 32
Sprites.
For example, multicolor can still be
used even if you didn't turn it on from
32 Sprite’s main menu. However, be-
cause you told 32 Sprites to leave the
register off, its shadow registers won't
work, and you won't be able to tell 32
Sprites which sprites are multicolor and
which are not. But you can change the
actual register in the VIC chip.
For example, if you decide before-
hand that you are going to design all of
your sprites in multicolor mode, you
could turn off the multicolor shadow reg-
isters before generating and then tell
the VIC chip to display all sprites that
it draws in multicolor by using POKE
53276,255.
32 Sprites won't interfere with the mul-
ticolor register, and the VIC will display
all eight sprites as multicolor. In order
to display more sprites, 32 Sprites
G-26 COMPUTE AUGUST 1993
tricks the VIC into displaying either two,
three, or four sets of eight sprites on
the same screen. The VIC believes it's
displaying eight sprites in all, and it dis-
plays them in multicolor.
Thirty-two Sprites can handle up to
the maximum number of sprites you
set for it on the main menu. Every sin-
gle sprite can be displayed anywhere
on the screen. Displaying more than
eight sprites on a horizontal row could
cause flickering and some distortion.
Thirty-two Sprites operates at its best
when the sprites are spaced out along
the y-axis. Careful designing of game
screens will prevent too many sprites
on one row.
You may have noticed there wasn't
a shadow register which turns a sprite
on or off. To do this with 32 Sprites, sim-
ply set the corresponding sprite’s Y po-
sition to 0. This tells 32 Sprites you
don't wish to have that sprite drawn.
Hints and Tips
While greatly enhancing the 64’s graph-
ics capabilities, 32 Sprites is a ma-
chine language routine which does
take up processor time. The more
sprites displayed on the screen and
the more parameters set to on, the slow-
er the computer runs. The best way to
conserve speed is to cut down on the
number of sprites. Of course, whenev-
er you need all 32 sprites, this will not
be possible.
The other way to increase the
speed of the computer is to turn off
any unneeded sprite parameters. In 32
Sprites’ machine language routine, on-
ly the parameters turned on are updat-
ed by the program. The rest are left to
the VIC chip to handle. Although it
takes a minimal amount of time to copy
a value from a shadow register to the
corresponding VIC register, it becomes
noticeable when you multiply this time
by 32.
The parameters which bog down
the computer the most are the High X
bit, X expand, Multicolor, and Priority.
Do without them whenever you can. Al-
though the High X bit cannot usually
be done without, Priority is rarely used
and can usually be set to off.
The next way to conserve processor
time is to place the sprites nearer the
top of the screen. Thirty-two Sprites be-
gins at the top of the screen and search-
es down until it finds the number of
sprites for which it was set. By placing
the sprites closer to the top, 32
Sprites will have to do less searching
and use less processor time.
You may notice some distortion of
the tops and bottoms of the sprites
when you're using 32 of them. This is
because the computer may be too
slow to update the VIC registers as
fast as needed when the sprites are in
certain positions. The best way to
avoid this is to leave the top and bot-
tom row or two of the sprite definitions
blank.
Because 82 Sprites is a raster inter-
rupt, it does change the interrupt vec-
tor at $0314-$0315. Machine language
programmers can still use another inter-
rupt, as long as it doesn't use another
raster interrupt. Every '/eo second, like
the normal timer interrupt, and after all
the sprites on the screen have been
drawn, 32 Sprites jumps to the normal
interrupt routine, usually located at
$EA31. This JMP is located at the start-
ing address plus $61. It can easily be
changed to jump to your own interrupt
routine instead. Just remember to end
your interrupt with IMP $EA31.,
Although 32 Sprites provides im-
proved sprite capability and flexibility,
it's not infallible. Placing the sprites in
certain positions can often cause flick-
er or cause some sprites to disappear.
The best way to prevent flicker is to de-
sign playing screens which space the
sprites out along the y-axis.
Since the VIC chip is actually limited
to eight sprites, 32 Sprites divides all of
the sprites into eight-sprite chunks and
displays each chunk as one group.
You still cannot display more than
eight sprites on a horizontal line be-
cause of the VIC chip's limitations. If
you decide to put more than eight on
one row, 32 Sprites will do its best to
display more than eight sprites per hor-
izontal line.
How It Works
Thirty-two Sprites works by use of the
VIC chip feature called raster inter-
rupts. The computer screen is redrawn
every '/eo second. After one screen is
drawn but before the next one begins,
32 Sprites quickly sorts the sprites in or-
der from lowest Y position to highest Y
position. On the screen, that is from
the sprite closest to the top to the one
closest to the bottom.
The program then displays the top-
most eight sprites and tells the VIC
chip to let 32 Sprites know when these
sprites have been drawn. Once the
VIC chip alerts 32 Sprites, the screen
is only partially redrawn. The topmost
eight sprites have been drawn, but the
rest of the screen hasn't been drawn
yet. So 32 Sprites puts the next eight
sprites into the VIC's registers, and
they are drawn. This process repeats
for each series of eight sprites.
A Demonstration
To give you some idea of 32 Sprites's
power, try this demonstration program.
The demo consists of a BASIC pro-
gram and machine language sprite da-
ta. Before you can run the demo, how-
ever, you must generate 32 Spritess.
Load and run the main BASIC pro-
gram. Once the menu comes up, type
14 and hit Return. When the program
asks you if you want to save to disk, an-
swer Y and type in 32 for the filename.
This is the name the demo searches
for when it runs. Don't print out the in-
formation sheet at this time.
To help avoid typing errors, enter
the demo with The Automatic Proofread-
er. Save the program before you try to
run it.
Sprite data is written in machine lan-
guage. Enter it with MLX, our machine
language entry program. Again, see
“Typing Aids." When MLX prompts, re-
spond with the following addresses.
Starting address: C3A0
Ending address: CAFF
Since the demo automatically loads
this data, save it with the filename 32
DEMO.ML. Make sure that this file and
32 are all on the same disk as the de-
mo. Control the demonstration with a
joystick plugged into port 2.
32 Sprites
KX 106 REM COPYRIGHT 1993 - CO
MPUTE PUBLICATIONS - AL
L RIGHTS RESERVED
REM WRITTEN BY BILL SOU
DAN
REM
POKE53281,0:POKE53280,8
: PRINT" {CLR}":ZP=191
PRINT" {CYN} {CLR} {H} {N}
HB 116
MA
KC
120
139
XxX 146
MP
DK
156
166
179
186
196
269
216
226
238
246
258
266
276
286
296
366
316
326
338
346
356
366
376
386
396
49g
416
426
430
446
456
468
476
{BLU} {G}{CYN}
{14 SPACES}32 SPRITES"
POKE1663,103:POKE55335,
6
PRINT" {BLU}{39 T}{LEFT}
{INST} {T}"
PRINT: PRINTTAB (15) "{33M
AIN MENU"
PRINT:DIM P$(12),P(12,1
) ,HS$ (16)
X$="G123456789ABCDEF"
FORJ=1T016:HS(J-1) =MID$
(X$,J,1) :NEXT
FORJ=@T012:READPS (J) :NE
XT
DATA "STARTING ADDRESS"
,"Y POSITION", "x POSITI
ON™, "HIGH X BIT™
DATA "X EXPAND", "COLOR"
,"MULTICOLOR", "PRIORITY
hn 7 "POINTER"
DATA “TEMP PAGE", "ORDER
TABLE","EXTRA Y TABLE"
,"MAX # OF MOBS"
FORJ=GTO12:READ P(J,8),
P(J,1):NEXT
DATA 3,49152,3,52992,1,
53024
DATA 1,53056,2,53088,1,
53126
DATA 2,53152,2,53184,1,
53216
DATA 3,52736,3,52672,3,
52704
DATA 3,32
FORP=6T012:GOSUB1200
EXT
PRINT" {YEL}14) {CYN}GE
NERATE {WHT}32 SPRITES"
WS="{HOME}{21 DOWN}"
GOSUB136G: PRINTWS; : INPU
T"{3}YOUR CHOICE";CS$
C=VAL (C$) : IFC<1ORC>14TH
EN340
IFC>12THEN47@
IFP(C-1,@) =3THEN420
GOSUB1360: PRINTWS; :PRIN
T"{3}SELECT: ";PS$(C-1);
" {WHT}1.¢3} ON
{2 SPACES}{3}2. {WHT}
{2 SPACES}OFF"
GETAS: IFAS<>"1"ANDAS<>"
2"THEN39G
IFAS="L"THENP (C-1,0) =1
IFAS="2"THENP (C-1,@) =2
GOSUB1360: PRINTWS; :MLS=
"_1":INPUT"{3}NEW MEMOR
¥ LOCATION"; MLS
IFLEFTS (ML$,1) ="$"ANDLE
N (ML$) =5THENDS=ML$:GOSU
B134G :ML=D:GOTO459
ML=VAL (MLS) : IFML<GORML>
65535THEN46G
P(C-1,1)=ML
P=C-1:G0SUB128G:GOTO34B
iN
IFC=14THENS19
CJ
BB
XK
HJ
HP
AS
PE
JA
Qu
JP
486
496
500
516
520
530
540
559
566
576
586
596
600
645
607
608
609
619
620
636
632
635
636
637
638
646
659
660
676
GOSUB136@: PRINTWS;:PRIN
T"{3}SELECT: {WHT}1.{¢3}
16 {WHT}2.¢3} 24 {WHT}
3.43} 32"
GETAS: IFAS<>"1"ANDAS<>"
2"ANDAS$<>"3"THEN496
P(12,1)=(VAL (A$) *8)+8:G
0T0460
REM GENERATE ML CODE
AD=P(G,1)
GOSUB1370
PRINT" {HOME} {11 DOWN}
{CYN} "TAB (12) "GENERATIN
Gioia.”
DEF FNH (X)=INT (X/256)
DEF FNL (X)=X-(FNH (X) *25
6)
PRINT" {DOWN} "TAB (9) "INT
TIALIZATION CODE..."
MP=0:GOSUB144G
FORJ=1T0P (12,1) /8:PRINT
TAB(12)"RASTER HANDLER"
7J:GOSUB1560:NEXT
AD=AD-34:DA$="A9FA8D12D
GA9008D00004C31BA":GOSU
B143G
POKEAD-5,FNL(P(0,1) +100
) : POKEAD-4, FNH (P(@,1)+1
GB)
GOSUB 1907
DI=AD:DA$="78A9318D1403
A9EA8D1503A9908D15DG8D1
ADGA9818DGDDCA9GG8DGDDC
A993"
DAS$=DA$+"2@D2FF5860":GO
SUB1430
GOSUB1370: PRINT" {HOME }
{7 DOWN}"'TAB (16) "COMPLE
Isa iT
PRINTTAB(5)"{2 DOWN}BEG
INNING ADDRESS:";:D=P(6
71) :GOSUB1390
PRINTP(G,1);" S"+AS$:PRI
NTTAB (5) "ENDING ADDRESS
:{3 SPACES}"; :D=AD:GOSU)
B1300
PRINTAD;" $"+AS
PRINT"{DOWN} ENABLE 32
{SPACE}SPRITES:
{3 SPACES}";:D=P(0,1):
OSUB1368
PRINT"SYS";P(G,1);" (JM
P{SHIET-S! SPACE} S"+AS+")™
PRINT" DISABLE 32 SPRIT
ES:{2 SPACES}";:D=DI:GO
SUB1366
PRINT"SYS";DI;" (JMP
{ SHIFT=SPACE}$"+AS+#") "
PRINTTAB (13) "{2 DOWN}SA
VE 32 SPRITES ML?"
GETAS: IFAS<>"Y"ANDAS<>"
N"THEN65@
IPAS="N"THEN719
GOSUB137G: PRINT" {HOME}
{7 DOWN}"TAB(5) "ENTER F
ILENAME:"; :OPEN1,@: INPU
T#1,F$:CLOSEL
AUGUST 1993 COMPUTE
G-27
PROGRAMS
JD
DQ
XM
KG
RP
sc
KM
MR
KE
QH
DG
GE
CK
QX
SA
HC
ES
BR
AF
MX
GJ
RR
RX
BQ
PJ
FS
EJ
680
696
788
716
720
736
746
750
760
776
780
790
800
862
804
806
808
816
826
836
846
856
860
876
880
898
998
PRINT: PRINTTAB(15)"
{2 DOWN}SAVING...."
SYS57812 FS$,8,1:POKE193
,ENL(P(G,1)) :POKE194,EN
H(P(@,1)) :POKE1L74,FNL(A
D+1)
POKE175,FNH(AD+1):SYS 6
2957
GOSUB1370: PRINT" {HOME}
{10 DOWN} "TAB (10) "PRINT
OUT INFO SHEET?"
GETAS: IFAS<>"Y"ANDAS<>"
N"THEN720
IFAS="N"THENPRINT" {CLR}
"SEND
GOSUB1370: PRINT" {HOME}
{16 DOWN} "TAB (14) "PRINT
TNGioe jeiait
OPEN4,4,7:PRINT#4: PRINT
#4: PRINT#4
PRINT#4,SPC(23)"32 SPRI
TES"
PRINT#4:PRINT#4: PRINT#4
PRINT#4,SPC(23) "STARTIN
G ADDRESS:";:D=P(@,1):G
OSUB1399
PRINT#4,P(6,1);" S$"+A$:
PRINT#4 , SPC (23) "ENDING
{SPACE} ADDRESS:
{2 SPACES}"; :D=AD:GOSUB
1390
PRINT#4,AD;" $"+AS:PRIN
TH4
PRINT#4,SPC (19) "ENABLE
{SPACE}32 SPRITES:
{3 SPACES}";:D=P(@,1):G
0SuB1300
PRINT#4,"SYS";P(G,1);"
{SPACE} (JMP
{SHIFT-SPACE}$"+A$+")"
PRINT#4,SPC(19) "DISABLE
32 SPRITES: {2 SPACES}"
} :D=DI:GOSUB1308
PRINT#4,"SYS";DI;" (JMP
{SHIFT-SPACE}$"+AS+")":
PRINT#4:PRINT#4
FORJ=1T012: PRINT#4,SPC (
16) ;P$ (J) ;SPC(24-LEN (PS
(J)))3
IFP(J,@) =3THENPRINT#4,"
N/A";
TEP (J,@) =2THENPRINT#4,"
OFE";
TFP(J,6)=1THENPRINT#4,"
ON ";
PRINT#4,SPC(5);P(J,1)7:
D=P(J,1) :GOSUB1340
PRINT #4, SPC (10-LEN (STR$
(P(J,1)))) ¢"S"+AS2NEXT
PRINT#4:CLOSE4:END
DATA 78,A9,<0+72,8D,14,
63,A9,>0+72
DATA 8D,15,03,A9,7F,8D,
6D,DC,A9, G1
DATA 8D,1A,D0,AD,11,D@,
29,7F,8D,11
JB 916 DATA DG,A9,FA,8D,12,D6,
G-28
COMPUTE AUGUST 1993
SF
FH
928
930
949
959
960
976
986
996
1666
1618
19626
1636
1640
1656
1068
1676
1684
1696
1169
1116
1126
1136
1146
1142
1144
1149
1156
1160
1176
1186
1209
1216
1229
1236
1246
1256
A9,00,8D
DATA <0+100,>0+190,A9,F
F,A2,00,9D
DATA <9,>9,E8,D0,FA,A9,
FF,8D,15,D9
DATA 58,66,01,02,04,08,
16,20,40,80
DATA FE,FD,FB,F7,EF,DF,
BF,7F,A9,@1
DATA 8D,19,D0,AD,<0+100
1>0+100,0A
DATA A8,B9,<G+101,>0+10
1,8D,<8+95
DATA >0+95,B9,<0+102,>0
+162,8D
DATA <0+96,>0+96,4C,FEF,
FF,4C,31,EA
DATA @6,<6+111,>0+111,
00,08,00,66
DATA 00,01,00,09,A2,00
7BD,<1,>1,C9,1D,96,0E,
Ag
DATA B9,<9,>9,38,04,C8
14C,<O+121
DATA >6+121,8A,99,<9,>
9,E8,E0,<C
DATA 96,E6,A2,00,A0,1D
1B9,<9,>9,16
DATA 4F,C8,B9,<9,>9,10
149,C8,B9,<9
DATA >9,10,43,C8,B9,<9
1>9,10,3D,C8
DATA B9,<9,>9,10,37,C8
1B9,<9,>9,19
DATA 31,C8,B9,<9,>9,19
1 2B,C8,B9,<9
DATA >9,10,25,C8,B9,<9
1>9,16,1F,C8
DATA B9,<9,>9,14,19,C8
7B9,<9,>9,18
DATA 13,C8,B9,<9,>9,19
,@D,C8,B9,<9
DATA >9,16,07,C8,C@,1D
7BGO,AE,90,GF
DATA 9D,<A,>A,A9,FF,99
1$9,>9,E8,E9
DATA <C,90,A4,BG,18
DATA EG,08,80,05,BC,<@
+56,>0+56
DATA 88,2C,AG,FF,8C,15
,DG
DATA A9,FF,9D,<A,>A
DATA E8,E0,<C,90,F8,EE
1 $G+100
DATA >@+166,A2,<C,CA
DATA BD,<1,>1,9D,<B,>B
7CA,10,F7,XX
END
POKE214,5+P:PRINT
PRINT" {YEL}";P+1;"
{LEFT}) {CYN}"PS(P)
PRINT" {UP} "TAB (22) 7
IFP(P,@) =1THENPRINT"
{3}0N "
IFP(P,@) =2THENPRINT"
{4}0FF"
IFP(P,@)=3THENPRINT"
BJ
SA
AX
BD
KF
JA
KA
JE
QP
DA
JK
KB
FB
QE
EG
FX
cQ
cr
XM
KG
AX
Gs
QB
SE
HK
RA
HS
SP
ER
1266
1276
1286
1296
1366
1316
1326
1336
1346
1356
1360
1376
1386
1396
1460
1416
1426
1436
1446
1456
1466
1476
1486
1496
1568
1516
1526
1538
1546
{RED}N/A{3}"
PRINT" {UP} "TAB (26) 7P(P
71);"{5 SPACES}"
D=P(P,1) :GOSUB1300
PRINT" {UP} "TAB (34) "S";
A$
RETURN
T=INT (D/4896) sAS=HS (T)
:D=INT (D-T*4996)
T=INT (D/256) :AS=AS+HS (
T) :D=INT (D-T*256)
T=INT (D/16) :BS=AS:AS=A
$+HS(T) :D=INT (D-T*16) :
BS=HS (T) tHS (D) +BS
AS=AS+HS(D) : RETURN
D=6:FORJ=3TOQSTEP-1:J1
=ASC (MID$(D$,5-J,1))-4
8:1FJ1>16THENJ1=J1-7
D=D+(J1*167J) :NEXT: RET
URN
PORX=21T024:POKE781,X:
SYS 59903:NEXT: RETURN
FORX=2T024: POKE781,X:S
¥S59903:NEXT: RETURN
DAS="68FG0D";GOSUB143¢
POKEAD, 185; POKEAD+1,FN
L(P(6,1)+56-SB) : POKEAD
+2,FNH (P(G,1)+56-SB) :A
D=AD+3
DAS="@D"+AAS+"BD"+AAS+
"FOOBD0G9":GOSUB1430
POKEAD, 185: POKEAD+1,FN
L(P(@,1)+64-SB) : POKEAD
+2,FNH (P(@,1)+64-SB) :A
D=AD+3
DAS="2D"+AAS+"8D"+AAS:
GOSUB1430:RETURN
MP=1:FORJJ=1TOLEN (DAS
STEP2:A$=MID$(DAS,JJ,2
) :GOSUB1456:NEXT:MP=G:
RETURN
READAS: LFAS="XX"THENRE
TURN
IFLEFTS$ (A$,1)="<"THENL
508
IFLEFTS (AS$,1)=">"THENL
536
A1=ASC (LEFTS$(A$,1))-48
:A2=ASC (RIGHTS (AS$,1)) -
48: IFA1>16THENA1=Al-7
IFA2>1L6THENA2=A2-7
POKEAD,A1*16+A2:AD=AD+
1:0N -(MP=8) GOTO1449
{SPACE}: RETURN
PL=@: IFLEN (A$) >2THENPL
=VAL (MID$(AS$,4) )
WGS$=MIDS(A$,2,1) :WG=VA
L(WG$) : IFWG$>"@"ANDWGS
<"D"THENWG=ASC (WGS$) -55
POKEAD,FN L(P(WG,1)+PL
) AD=AD+1:0N -(MP=8) G
0T0144G :RETURN
PL=@: IFLEN (AS) >2THENPL
=VAL (MIDS (AS,4))
WGS$=MIDS$ (A$,2,1) :WG=VA
L(WGS$) : IFWGS>"@"ANDWGS$
<"D"THENWG=ASC (WG$) -55
ER
BH
GF
HF
DA
QR
BB
AG
Qs
AF
AH
CJ
GP
SP
HK
ES
BE
RQ
GD
PP
XX
BB
HE
QH
PE
EE
XP
FP
QD
AF
1556
1566
1576
1580
1596
1606
1619
1626
1636
1646
1656
1660
1676
1686
1696
1766
17198
1728
1738
1746
1756
1766
1776
1788
1796
1806
1816
1826
1839
1849
POKEAD,FN H(P(WG,1)+PL
) :AD=AD+1:0N -(MP=8) G
0T01440 :RETURN
POKEP (@,1)+101+3*2,FNL
(AD) : POKEP (@,1)+162+3*
2,FNH (AD)
DAS="A2GGAG": IFJ=1THEN
DAS=DAS+"@G":EPS="G8":
SB=0
IF J=2THENDAS=DAS+"68"
tEPS="16":SB=8
IFJ=3THENDAS=DAS+"10":
EPS="18":SB=16
IF J=4THENDAS=DAS$+"18":
EPS="26":SB=24
DAS=DAS+"84BF":GOSUB14
30
IFJ=1THENB1=AD:GOTO166
)
B1=AD:DAS="B9":GOSUB14
36
POKEAD, FNL (P(16,1)-8):
POKEAD+1,FNH (P(18,1)-8
) SAD=AD+2
DAS=""3GGEA8B9<B>BA4BF1
86914CD12DGBGFB":GOSUB
1436
DAS="B9<A>A":GOSUB1436
DAS="10034C0GGGA8":GOS
UB1430
DAS="B9<B>B9DG1D6":GOS
UB143@6
IFP (2,0) =1THENDAS="B9<
2>29D6GD6":GOSUB143@0
IFP (7,8) =LTHENDAS="B9<¢
7>748":GOSUB143G
IFP (4,@) =1THENDAS="B9<
4>448":GOSUB1430
IFP(6,@) =1THENDAS="B9<
6>648":GOSUB1436
IFP (5,G) =1THENDAS="B9<
5>548":GOSUB1434
IFP(3,0)=1THENDAS="B9<¢
3>348":GOSUB1436
IFP (8,0) =1THENDAS="B9<
8>8A4BF99":GOSUB1436
IFP(8,G)=1THENPOKEAD,F
NL (2640-SB) : POKEAD+1,F
NH (264G-SB) :AD=AD+2
IFP(3,8)=1THENAAS="16D
6" ;GOSUB1380
IFP(5,@)=1THENDAS="689
9":GOSUB1436
IFP(5,6)=1THENPOKEAD,F
NL (53287-SB) : POKEAD+1,
FNH (53287-SB) :AD=AD+2
IFP (6,0) =1THENAAS="1CD
@":GOSUB1386
IFP (4,0) =1THENAAS="1DD
0" :GOSUB1380
IFP(7,@)=1THENAAS="1BD
6":GOSUB1386
PL=6: IFJ>1THENPL=25
POKEB1+PL,FNL (AD) : POKE
B1+PL+1,FNH (AD) :DAS$="E
8E8C884BFCG"+EP$:GOSUB
1439
PQ
QG
BS
Qs
Qs
MK
XA
XG
BE
1850
1868
1876
18890
1885
1899
1906
1965
1987
1916
19290
1936
D=254-(AD-B1l)
IFD>129THENGOSUB1360:D
AS="DO"+RIGHTS (A$,2):G
0SUB1436:GOTO1886
DAS="F0034C":D=B1:GOSU
B139@:DAS=DA$+B$:GOSUB
1436
DAS="AD<A>A361GA8B9<B>
B38E9078D12DGEEGG664CB
CFEA99@8DG0GGGA9FA8D12D
G4C31EA"
GOSUB1436
POKEAD-33,FNL(P(10,1)+
8+SB) : POKEAD-32,FNH (P(
16,1)+8+SB)
POKEAD-19,FNL(P(@,1) +1
@@) : POKEAD-9,FNH (P(G,1
) +168)
POKEAD-18,FNL(P(G,1)+1
66) :POKEAD-17,FNH (P (6,
1) +169)
POKEAD-2,FNL(P(8,1)+97
) :POKEAD-1,FNH (P(@,1)+
97)
RETURN
B1=AD:DAS="B9GGGG30GEA
8B9<1>1A4BF186914CD12D
GBGFB":GOSUB1436
POKEB1+1,FNL(P(16,1)-8
) : POKEB1+2,FNH (P (16,1)
-8) : RETURN
DEMO
166
110
126
125
127
136
135
146
156
163
176
186
196
206
216
220
236
246
256
REM 32 SPRITES DEMO
REM
PRINT" {CLR} {N} {H}":POKE
53281, 6: POKE53280,0
IFA=OTHEN A=1:LOAD"32 D
EMO.ML",8,1
IFA=1THEN A=2:LOAD"32",
8,1
REM INITIALIZE 32 SPRIT
E REGISTERS
DIM C(1@)
¥=52992:X=53024 :HX=5305
6:C=53120
P=53216:PR=53275
FORJ=@T031: POKEY+J,@:PO
KEX+J, 0: POKEHX+J, 0: POKE
C+J,0:POKEP+J,14:NEXT
FORJ=0T063: POKE704+J,0:
POKE832+J,0: POKE896+J,0
:NEXT
FORJ=3T059: POKES32+J,25
5:NEXT
POKEPR,255:SYS 50080:SY
S 49152:POKE53269,255
DT$="{HOME}{24 DOWN)"
PRINTLEFTS$(DT$,8) ;TAB(1
5)"{CYN}32 SPRITES"
PRINTTAB(9)"{7}CUSTOM 3
2-SPRITE RASTER™
PRINTTAB (15) "CONTROLLER
PRINT: PRINTTAB(9)"YOU C
AN DISPLAY UP TO 32"
PRINTTAB(6)"SPRITES ON
JM
EF
FJ
BF
GE
DG
EH
268
279
286
2968
306
319
326
336
346
356
368
376
375
377
378
379
386
385
398
490
416
426
449
456
466
476
486
499
506
519
{SPACE}THE SCREEN AT AN
y"
PRINTTAB(7) "TIME. EACH
{SPACE}SPRITE CAN MOVE"
PRINTTAB (9) "ANYWHERE ON
THE SCREEN."
FORCL=1T010:READC (CL) :N
EXT:DATA 8,2,9,108,7,1,7
118,9,2
FORJ=31TOGSTEP-1: POKEP+
J,13:FORCL=1T016: POKEC+
J,C(CL) :NEXT:NEXT
GOSUB 1619
GOSUB 1000
PRINTLEFTS (DT$,12) ; TAB (
7)"YOU HAVE FULL CONTRO
L OVER"
PRINTTAB(7) "EVERY SPRIT
E OPTION EXCEPT"
PRINTTAB (13) "Y-EXPANSIO
nN."
FORJ=@T031:POKEC+J, INT (
RND (1) *15)+1:NEXT:GOSUB
1626
FORJ=6T031: POKEC+J, 2:NE
XT:GOSUB10290
FORJ=6T063: POKE832+J,0:
NEXT
FORJ=6T031:A=INT (RND (1)
*3)+1:IFA=1THENPP=13
IFA=2THENPP=14
IFA=3THENPP=11
POKEP+J,PP:NEXT:CC=85
FORJ=3T059: POKE704+J,1N
T (RND (1) *256) : POKE896+J
7CC3CC=255-CC: POKE832+7
7255
NEXT
POKE53285, 7: POKE53286,1
G
GOSUB1626: POKE53276,255
:GOSUB10620:GOSUB162G: PO
KE53276,@:GOSUB1620
FORJ=0T031: POKEP+J,13:N
EXT
GOSUB162@: POKE53277,255
: GOSUB102@: POKE53277,0
PRINTLEFTS$ (DT$,12) ; TAB (
5) "MOVE SPRITE #1
{2 SPACES}WITH JOYSTICK
"
PRINTTAB(2)"IN PORT 2.
{2 SPACES}PRESS + AND -
TO CHANGE”
PRINTTAB(3) "SPRITE NUMB
ER.{2 SPACES}PRESS C TO
CHANGE"
PRINTTAB(8)"COLOR. PRES
S Q TO QUIT."
SYS 50272:POKE254,0:SP=
1
POKE254,SP-1:PRINTLEFTS
(DT$,12);TAB(18) ;MID$(S
TRS(SP),2);" "
GETA$: IFA$="+"ANDSP<32T
HENSP=SP+1:GOTO 490
IFAS="—-"ANDSP>1THENSP=S
AUGUST 19893 COMPUTE G-29
PROGRAMS
P-1:GOTO 490 C56¢:1B 1B 1B 1B 1B 19 19 19 DD |C796:60 GO OH BG GG GB GG GB 2G
EJ 520 IFAS="C"THENPOKEC+SP-1,]| C568:19 19 19 19 18 18 18 18 E4 |C798:40 GG GG GO GB GO GG OG 28
(PEEK (C+SP-1) +1) AND15 C576:18 18 18 18 18 18 18 18 FB /C7AG:06 60 GO BG BG BG GO BO 30
EG 530 IFAS<>"Q"THEN5G@ C578:18 18 18 18 18 18 18 16 G2 |c7A8:00 G6 BG GG BG BB BB GO 38
GS 549 POKE828,@:SYS 828 C586:18 18 18 18 18 18 18 18 GC |c7BG:60 GB G6 GG BG BG GG GG 40
GG 999 END C588:18 18 18 18 18 18 18 18 14 |c7B8:00 GG 66 GG BG BB GB G5 48
DH 1660 FORJ=11T024:POKE781,J:| ©599:18 18 18 19 19 19 19 19 3B |c7c¢:06 96 ao ao
SYS 59903:NEXT:RETURN | C298:19 19 19 1B 1B 1B 18 1B 62 |c7c8:08 oo ao a6 4 He He a 38
DJ 1010 FORJ=17T01000:NEXT:RETU| C240:1B 1c 1c lc lc 1c 1E 1E Bl |c7Dd:66 66 G0 G9 GG oo GG GO Go
RN CSA8:1E 1E 20 20 2G 20 21 21 BS |c7D8:00 G8 86 BG GO GG GG GG 68
PQ 1020 FORJ=1T050G:NEXT:RETUR| CobG?22 23 23 23 25 25 25 25 59 |c7EG:06 O08 06 G0 G5 OH Od OG 70
N : a eeeeeae 3 28 ae 38 2h a a Be C7E8:00 G6 00 68 BO BG GG OG 78
32 DEMO.ML C5C8:30 32 32 34 35 35 37 37 AS |c7Fa:00 OB OB OO 00 OO OO OO Bo
C3AG:78 AS GB 8D 62 CO AY C4 D5 | C5DG:39 39 3A 3C 3C 3E 3E 3F E8 |C8GG:4G GG GB BB BB BG GB BG 91
C3A8:8D 63 CG A2 OG 8A GA GA 5A | C5D8:41 41 42 44 44 46 47 49 F4 |C8G8:00 GB OG GO GG GG GG aa 99
C3BG:0A GA 9D EG C4 8A 4A 4A BG | C5EG:4B 4B 4C 4E 56 51 53 55 17 |C810:06 GB GG GO GG GO GO Go Al
C3B8:4A 4A 9D CO C4 E8 EG 26 63 | C5E8:56 58 SA SB SD SF 68 62 42 |C818:40 GB G1 G1 G1 G1 G1 G1 EB
C3CG:98 EB 58 68 39 00 39 GG DB | C5FG:67 69 6A 6C GF 71 76 79 46 |C82G:G1 G1 G1 G1 G1 G1 G1 G1 Bl
C3C8:39 60 39 BG 39 GG 39 GB 5G | C5F8:7C 8G 83 86 98 97 AD AD 9B }c828:51 G1 G1 G1 G1 G1 G1 G1 BO
C3D6:39 66 39 GG 39 GG 39 GB 58 | C6GG:A9 BA C@ CA CD D1 D4 D7 BD |cg83G:G1 G1 G1 G1 G1 G1 G1 G1 Cl
C3D8:39 GB 39 6G 39 GG 39 GB 6g | C608:DB EG El ES E6 EB EA EE FS |C838:G1 G1 G1 G1 G1 G1 G1 G1 CO
C3EG:39 36 39 GB 39 GG 39 GG 68 | C61G:FG F2 F3 FS F7 FB FA FC 47 |c84G:61 61 G1 G1 G1 G1 G1 G1 D1
C3E8:39 G6 39 GB 39 GG 39 GB 7G | C618:FD FF @1 G2 G4 G6 G6 G7 30 |c848:G1 G1 G1 G1 G1 G1 G1 B1 DO
86 39 GG 39 G8 39 GG 78 | C620:G9 OB GC GC GE 16 1 11 19 |cg5G:G1 G1 G1 G1 G1 G1 G1 G1 El
63 39 GO 39 BG 39 GG BG | C628:13 13 15 15 16 18 18 19 52 |cg58:g1 G1 G1 G1 G1 G1 G1 G1 ED
@6 BD CO C4 DG 24 BC Gp | C639:19 1B 1B 1D 1E 1E 26 26 16 |cg6G:G1 G1 G1 G1 G1 G1 G1 G1 Fl
C4 B9 G6 C5 9D 26 CF 1F | C638:2G 22 23 23 23 25 25 27 14 |cg68:G1 G1 G1 G1 G1 G1 G1 G1 FO
66 C7 9D 46 CF BO GG FD | C640:27 27 28 28 28 2A 2A 2C 1D |c87G:G1 G1 G1 G1 G1 G1 G1 G1 G2
9D 6G CF C8 D@ G5 AD 28 | C648:2C 2C 2C 2D 2D 2D 2F 2F FA |C878:G1 G1 Gl G1 Gl G1 G1 G1 GA
9D CO C4 98 9D EG C4 B7 | C650:2F 31 31 31 31 32 32 32 E3 |C8BG:G1 G1 G1 G1 G1 G1 Gl G1 12
50 C4 BC EG C4 BO GG DD | C658:32 34 34 34 34 34 36 36 EA |c888:G1 G1 G1 G1 G1 G1 G1 G1 1A
C43G:C6 9D 20 CF B9 GG CB 9D 82 | C669:36 36 36 36 37 37 37 37 FC |cg9G:G1 G1 G1 G1 G1 G1 G1 G1 22
C438:40 CF B9 OG CA 9D @@ CF ag | C668:37 37 37 37 39 39 39 39 14 |cg98:g1 G1 G1 G1 G1 G1 G1 G1 2A
CGO FE 90 G7 AO GG 9D C3 | C6749:39 39 39 39 39 39 39 39 FD |cgag:G1 G1 G1 G1 G1 G1 G1 G1 32
C4 AG GG 98 9D EG C4 39 | C678:39 39 39 39 39 39 39 3B 68 |cgaa:G1 G1 G1 G1 G1 G1 G1 G1 3A
EG 26 90 AD 4C 31 EA 7F | C680:39 39 39 39 39 39 39 39 BE |c8pG:G1 G1 G1 G1 G1 G1 G1 G1 42
C458:00 G8 GG GG BO GB BG BG E1| C688:39 39 39 39 39 39 39 39 16 |cgps:G1 G1 G1 G1 G1 G1 G1 G1 4a
C460:78 AI 75 8D 62 CO AI C4 46 | C695:39 39 39 37 37 37 37 37 DF |caca:G1 G1 G1 G1 G1 G1 G1 G1 52
C468:8D 63 CG A9 GB 85 FD 85 DB| C698:37 37 36 36 36 36 36 36 EG |cece:G1 G1 G1 G1 G1 G1 G1 G1 SA
C47G:FC 85 FE 58 68 A6 FE AD 88 | C6AG:34 34 34 34 34 32 32 32 26 |cang:g1 G1 G1 G1 G1 G1 G1 G1 62
C478:00 DC 4A 90 03 FE 6G CF 6F| C6A8:32 32 31 31 31 2F 2F 2F E8 |cgp8:G1 G1 G1 G1 G1 G1 G1 G1 6A
€480:4A 90 G3 DE G6 CF 4a 90 G6 | C6BG:2F 2D 2D 2D 2C 2C 2C 2A 2E |cREg:G1 G1 G1 G1 G1 GG OG GO GB
C488:15 48 BD 26 CF 18 69 Gl 1B| C6B8:2A 2A 28 28 28 27 27 25 BE |cges:GG GG BG GB GG BG GO BG 7A
C490:9D 20 CF 90 G8 BD 40 CF 7B | C6C9:25 25 23 23 22 22 20 20 BA |cErg:o0 66 GG GG BG GG BG GB 82
C498:49 G1 9D 40 CF 68 4A 9G 94 | C6C8:20 1E 1D 1D 1B 1B 19 18 F2 |cerg:gd 6G G6 GO BG GG 6G OG BA
C4AG:15 48 BD 20 CF 38 £9 G1 B4| C6D0:18 16 16 15 15 13 11 11 2C |c9qg:32 32 33 33 34 35 36 36 EB
C4A8:9D 20 CF B@ G8 BD 4G CF 95| C6D8:10 16 GE GC OB 89 G9 B7 8A | c9ogg:37 38 38 39 3A 3B 3B 3C 51
C4B0:49 G1 9D 4G CF 68 4c 31 ca| C6EG:G6 G4 G2 G1 G1 FF FD FA Cl |c91g:3c 3D 3B 3F 3F 40 41 41 8B
C4B8:EA 66 G@ GG GO GG GO Go B7| C6E8:FS F8 F7 FS F3 FO EE EB BC |c918:42 43 44 44 45 45 47 47 7F
C4C0:G1 G1 G1 G1 G1 G1 G1 G1 4A | C6FO:EA E8 E6 El EG DC DB D7? 33 |c92G:48 48 49 4A 4B 4C 4C 4D 29
C4C8:61 G1 G1 G1 G1 GO GG GB 4B | C6F8:D4 CD CA C5 CO BA AY 23 81 |c928:4D 4B 4F 58 5G 51 52 52 A3
C4DG:00 GG GG GG BG BG BO GB 5A| C700:G0 BG BH BB GO BG BG BG BF | c939:53 54 55 55 56 56 58 58 97
C4D8:00 GG GB GB GB G1 G1 G1 69| C7G8:6G BG GG GB BO BG BB BB 97 | c938:59 59 SA 5B 5C 5C 5D 5E 3D
C4EG:3A 4A 5A 6A 7A 8A 9A AA E9| C719:00 9G GB GB GG BG BO BG IF |co4g:5E SF 6G 61 61 62 62 63 BY
C4E8:BA CA DA EA FA GC 1C 2C F8| C718:96 GG GG GB GB BG GB GB A7 | c948:64 65 66 66 67 67 69 69 AF
C4FG:3C 4C 5C 6C 7C BC 9C AC F9| C720:66 BG GG GB BG BG GB GB AF |c95g:6A 6A 6B 6C 6D 6D 6E 6F 55
C4F8:BC CC DC EC FC @C 1C 2C FA| C728:06 06 84 GG GG GG GB BB B7 |co5g:6F 76 71 72 72 73 73 74 DL
C500:A9 97 99 8B 86 83 7C 79 C5| C730:90 GO BB GB GG GB GO BB BF |c96g:75 76 76 77 78 78 79 7A AS
C508:76 74 71 6F 6A 69 67 65 3E| C738:0G G9 GB GG BG BO BB OG C7 |c968:7B 7B 7C 7C 7E 7E 7F 8G SD
C516:62 64 5D 5B 5A 58 58 56 81| C740:9G GH GB GO GG BG GG OH CF |c97G:8G 81 82 83 83 84 84 85 ED
€518:53 51 5G 59 4E 4C 4B 49 34| C748:09 9G G8 BO BO BG OG OO D7 |\c9o78:86 87 87 88 89 89 8A 8B BD
C520:47 47 46 44 42 41 41 3F @7| C750:09 GB GG BG GF BB GG OG DF |coBg:8Cc BC 8D 8D BF BF 9G 9G 74
C528:3F 3B 3C 3C 3A 3A 39 39 94| C758:06 G6 03 GG GG GO GO BG E7 | c9gg:91 92 93 93 94 95 95 96 Fl
C530:37 35 35 34 34 32 30 30 89| C760:00 GB G0 GG BO GG BB BG EF | c99g:97 98 98 99 9A 9A 9B 9C DS
€538:30 2F 2F 2D 2D 2B 2B 2B F7| C768:00 08 G8 BG BB GB GB BG F7 |c998:9D 9D 9E 9E AB AG Al Al 8C
C54G:2A 2A 28 28 28 26 26 26 3F| C770:G0 GB OG GG GG GO BO OO FF |coag:A2 A3 A4 A4 AS AG AG AT GA
Geaai28 25 25 23 23 23 21 21 BF | C778:90 GB G6 GO GG GO GO OG G8 |coAB:AB A A AA AA AB AC AD ES
€55G:21 21 26 20 20 1B 1B 1E gE| C780:@@ 66 Gd BO GG BO BG BO 18|coBG:AD AE AF AF BO Bl B2 B2 IC
Css8:1E 1E 1c 1c 1c 1c 1c 1B 64| ©788:80 06 G0 G6 GB GO GG GG 18)c9B8:B3 B4 BS BS B6 B7 B7 BB 22
G-30 COMPUTE AUGUST 1993
C9CG:B9 BA BA BB BB BC BD BE FD
C9C8:BE BF C@ CO Cl C2 C3 C3 34
C9DG:C4 C4 C6 C6 C7 C7 CB CO F5
C9D8:CA CA CB CC CC CD CE CF D5
C9E@:CF D@ Dl Dl D2 D3 D4 D4 4c
C9E8:D5 D5 D7 D7 D8 D8 DY DA GE
C9FG@:DB DB DC DD DD DE DF E@ ED
COF8:E@ Bl El E2 £3 E4 E5 E5 44
CAG@:E5 E4 E3 E2 El El EG EG AS
CA@8:DF DE DD DD DC DB DB DA C7
CA1@:D9 D8 D8 D7 D7 D5 DS D4 F7
CA18:D4 D3 D2 Dl Dl D® CF CF C5
CA2@:CE CD CC CC CB CA CA C9 DF
CA28:C8 C7 C7 C6 C6 C4 C4 C3 18
CA3@:C3 C2 Cl C8 CO BF BE BE DD
CA38:BD BC BB BB BA BA B9 B8 FB
CA4G6:B7 B7 B6 BS BS B4 B3 B2 6C
CA48:B2 Bl BO AF AF AE AD AD F5
CA5@:AC AB AA AA AQ AQ AB AT 14
CA58:A6 A6 A5 A4 A4 A3 A2 Al 84
CA6G:Al AM AG YE YE 9D 9D 9C 38
CA68:9B 9A 9A 99 98 98 97 96 4C
CA76:95 95 94 93 93 92 91 98 9C
CA78:98 8F 8F 8D 8D 8C 8C 8B 48
CA8G:8A 89 89 88 87 87 86 85 64
CA88:84 84 83 83 82 81 8G 80 C5
CA98:7F 7E 7E 7C 7C 7B 7B 7A 68
CA98:79 78 78 77 76 76 75 74 7C
CAAG:73 73 72 72 71 76 6F 6F DD
CAA8:6E 6D 6D 6C 6B 6A 6A 69 88
CABG:69 67 67 66 66 65 64 63 1D
CAB8:62 62 61 61 6@ 5F 5E 5E FS
CAC@:5D 5C 5C 5B 5A 59 59 58 AB
CAC8:58 56 56 55 55 54 53 52 35
CADG:52 51 58 56 4F 4B 4D 4D 8E
CAD8:4C 4C 4B 4A 49 48 48 47 F8
CAEG:47 45 45 44 44 43 42 41 4D
CAE8:41 40 3F 3F 3E 3D 3C 3C A6
CAFG:3B 3B 3A 39 38 38 37 36 15
CAF8:36 35 34 33 33 32 32 39 BO
Bill Soudan manipulates sprites in Gi-
rard, Pennsylvania.
MIDWAY COMMAND
By Michael Sedlezky
Midway Command is a two-player strat-
egy game for the 64. You and a friend as-
sume the roles of American and Japa-
nese naval commanders during World
War Il.
Experience the Battle of Midway as
each of you orders your powerful carrier
forces into battle with each other. Your flo-
tilla is made up of battleships, cruisers, de-
stroyers, and aircraft carriers. There are
14 vessels per side. Winning the game is
accomplished by sinking your enemy's
carrier. Your ships battle each other with
cannon shells.
Midway Command is written entirely in
machine language, but it loads and runs
like a BASIC program. To enter it, use
MLX, our machine language entry pro-
gram. See “Typing Aids” elsewhere in
this section. When MLX prompts, re-
spond with the following values.
Starting address: 0801
Ending address: 1680
The game is played on a grid
that resembles a standard checker-
board. Each occupied square con-
tains a marker that indicates a
ship. The American marker is
black, and the Japanese marker is
white.
Use your joystick in port 2 to po-
sition the game's cursor to select a
square of your choice. As the cur-
sor moves over a square, a view of
the ship is displayed along with its
type and two scale bars.
Ship Strength
One scale represents the ship’s
strength. This scale represents the
amount of damage the ship can with-
stand, As the scale decreases in
size, the ship is in danger of sink-
ing. Damage inflicted on any ship
cannot be repaired.
Ship Firepower
The firepower scale represents the
amount of damage the ship's guns
will inflict on an enemy vessel's
strength. This scale will increase if
this ship fires the blow that sinks an
enemy ship. As a ship gains expe-
rience, it becomes a deadlier fight-
ing vessel.
Playing the Game
The game is played in turns. Each
player has the option either to
move or to attack. The American
commander starts first. You choose
one of your ships by selecting it
with the cursor and then pressing
the fire button. You then have the op-
tion either to move or to fight by
pressing a function key. Follow on-
screen directions.
You finish a turn by selecting a tar-
get square. The cursor is a green
shade if the target square is within
legal boundaries. In order for you to
move onto a square, it must be un-
occupied and within range. The bor-
der flashes red if you attempt an il-
legal move.
Moving and Firing
All ships can move at least one square
in any direction. Destroyers can move
two.
To attack, you must select an enemy
ship that is within firing range. Each
ship has different ranges, and you can
fire in any direction. The carrier cannot
fire. A destroyer can fire a distance of
only one square. Cruisers can fire two
squares only; they cannot fire one
square. A battleship can fire one or
two squares. The battleship is your
strongest piece, followed by the cruis-
ers and then by destroyers. Protect
your carrier at all times.
Game Hints
Whenever possible, force the enemy to
move into your range of fire so you can
get first shot. Use your cruiser or bat-
tleship to finish off an enemy so you
can increase your stronger piece’s fire-
power.
Fight cruisers with destroyers. Use
the destroyers’ two-square advantage
to jump to an adjoining square where
the cruiser can't fire on you.
If your opponent takes a defensive
strategy, analyze the setup and probe
the weakest side with your destroyers.
Attack from different sides and try to
draw the ships out of position.
MIDWAY COMMAND
6861:6C G8 G1 GG 9E 20 33 33 48
@859:32 39 GG 86 BG GB 27 1D EB
6811:13 69 1D 27 27 27 1D lp 30
6819:27 27 27 27 68 OG 26 24 4E
G821:22 28 24 26 26 26 24 24 69
G829:26 26 26 26 G6 19 G3 OO 67
9831:98 86 G6 FA OB GF BC GB BD
G839:00 GG GG BO GB GB 8F GH 68
G841:08 GG BG BO GB GG GG BB 51
G849:96 G9 GB BG BG GB BG BG 59
G851:00 6G 18 8G BGO 82 86 BO OF
G859:AA 46 G2 7C 8G G5 FF 46 2F
G861:06 7C BB BG BO BB BG BG 9B
9869:06 84 GB GB BG BB BG BB 79
G871:06 68 GB GB GB BG BB GB 81
@879:06 G6 GG BG BG BB 87 BB 98
G881:066 G3 G8 BG BB BB BG BB 91
9889:06 GB GB GG BB GB GB BB 99
G891:061 6G GB G63 BH GB 33 BO BB
G899:03 FF @@ 79 FF @@ 3F FF 41
G8A1:FE FF FF 3F FF FF @F FF C3
G8A9:FF G7 FF FF 86 G6 GG GG 7B
98B1:06 6G GB BG BG GG BB BB Cl
98B9:08 6G GB GB BG BB 8B BG CA
G8C1:08 6G GB BG GG GB BG BB D1
G8C9:8% 88 GG CO GB GB 8G BG 27
G8D1:06 D@ GB BB 9B BB BB D7 72
G8D9:CB GG FF 9C GG FF FF 8@ 94
AUGUST 1993 COMPUTE G-31
PROGRAMS
6951:06
9959:00
O961:FF
@969:FE
0971:06
0979:06
9981:96
0989:06
G991:66
6999396
G9A1:06
G9A9:FE
G9B1:06
G9B9:G0
G9C1:06
69C9:60 68
99D1: 00
@9D9:06
G9E1:F8
G9E9:80
G9F1:06
G9F9:0G
GAG1:00
@AG9:00
GA11:49
GA19:00
GA21:FE
GA29:FF
GA31:00
GA39:06
GAF9: 00
OBG1:65
GB09:96
oo
6S
oo
G-32
FF
6G
96
Ci)
go
Cy)
Ci)
1F
PF
CT)
G6
Ci)
6G
oa
96
oo
FF
06
Cr)
ao
Cr)
CT)
CT)
G3
FE
CK)
ao
oo
GO
is)
vr)
oa
cc
GG
Cs)
0G
oo
60
ao
EE
FE
Cr)
aa
89
6a
cs)
BO
FF
FF
go
66
oo
i)
oo
Ct)
FP
c3
oa
i)
Go
oo
oo
Xe
oo
FC
oO
oo
oo
Go
oo
FF
oo
6G
9G
0G
96
oa
7F
FF
06
Vt)
09
Ti)
oo
ao
FF
FE
Ui)
oo
a6
Uy)
6G
06
UT)
FF
1)
ao
1)
60
i)
6G
ca
1)
oo
C11)
ao
v1)
6a
i)
OF
FF
ao
Cs)
66
i)
Ur)
Oo
FF
FR
66
6G
Ui)
Ot)
rs)
9G
Cy)
FE
i)
yt)
oo
Ur)
a6
9G
FE
OF
ao
oo
oo
Cy)
96
COMPUTE AUGUST 1993
@B11:6¢6
@B19:98
@B21:7F
@B29:FF
GB31:48
GB39:66
0B41:80
@B49:05
@B51:99
GB59:80
OB61:FF
OB69:FG
6B71:66
@B79:66
@B81:300
@B89:06
@B91:09
9B99:96
GBA1L:96
GBA9:FF
GBB1:80
GOBBI: 98
GBC1: 06
OBC9: G6
@BD1:00
@BD9: 63
0C21:43
@C29:FF
6C31:06
9C39: 06
6C41:86
6C49:66
@C51:60
@C59:A5
GC61:FF
OC69:FE
6C71:06
6C79:66
@C81:60
6C89:68
6C91:86
6C99:28
GCA1: 36
GCA9: GB
GCB1:40
GCB9: 06
G6CC1:60
6CC9: 86
GCD1:46
GCD9:38
@CE1:60
GCE9: G0
OCF1:60
GCF9: G8
@DG1:A9
@pg9:85
@N11:8C
@D19:FE
@D21:F6
@D29:CF
@D31:61
GD39:18
@D41:GE
@D49:93
@D51:6B
@D59:0D
6D61:07
@D69:F7
@D71:13
@D79:8D
@D81:AG
@D89:AD
@D91:19
@D99:47
9DA1:35
8DA9: 20
@DB1:8D
@DB9:CF
6DC1:86
GDC9:F9
6DD1:61
@DD9:GD
@DE1:8D
@DE9:8D
ODF1:10
@DF9:8D
GEG1:20
G569:8D
GE11:GE
@E19:14
GE21:23
@£29:8D
GE31:CF
9E39:CD
@E41:A9
GE49:CF
GE51:99
@E59:8D
GF61:9D
GE69:CF
GE71:60
GE79:AD
@F81:55
@E89:55
GE91:55
GE99: FF
GEAL:FF
GEA9:0D
@EB1:6F
GEB9: GC
@EC1:6C
@EC9:12
@ED1:99
@ED9:12
@EE1:06
GEE9: 26
@EF1:@1
GEF9:15
GFO1:03
GFG9:20
GF11:GE
GF19:20
GF21:14
GF29:95
GF31:6B
GF39:12
GF41:13
OF49:G0E
GF51:20
GF59:05
GF61:12
GF69:20
DG
D7
96
19
16
12
8D
16
26
ag
FO
AQ
4c
@D
GE
AG
cg
G1
76
8D
CF
GF
bg
CE
ll
13
@4
2D
99
ao
78
CA
66
14
BD
9D
CF
08
9D
78
AA
AA
AA
99
FF
19
G4
26
Gl
26
26
GE
OF
20
26
06
GE
09
12
12
20
13
61
17
61
13)
GE
16
17
GE
GF71:68
GF79:16
GF81:12
GF89:14
GF91:2G
GF99320
@FA1:19
OFA9: B80
GFB1:9A
@FB9:8D
GFC1:2D
GFC9:19
@FD1:8D
@FD9:8D
G@FE1:8D
GFE9:37
OFF1:85
GFF9:4A
10661:8D
1699:6F
1611:BD
1619:69
1621:61
1629:88
1031:6D
1639:60
1641:26
1049:CF
1651:CF
1059:BD
1061: 2D
10669:D9
1071:A6
1079:AD
1081:CF
1689:AG
1091:A9
1999:CA
1G6A1:8D
10A9:88
19B1:61
16B9:20
16C1:88
1609: 20
16D1:11
16D9:65
1GE1:11
18E9:DG
1GF1:50
10F9:9D
1161:CF
1169:A9
1111:ED
1119:AD
1121:8D
1129:CF
1131:26
1139:8D
1141:CF
1149:0A
1151:66
DUS 9 sue
1161:63
1169:88
1171:6F
1179:F8
1181:D4
1189:D4
1191:11
1199:8D
BE
E3
33
63
c4
BC
B6
BA
86
9c
AD
7¢
B4
F8
D8
DB
19
30
3D
09
98
Ag
4a
81
E4
@3
99
16
B9
8D
Ag
76
1A
09
2A
1E
8D
88
16
63
BO
E6
AD
13
22
9E
A8
69
6B
De
21
47
69
G2
DB
a
8C
3F
9A
16
ras
82
98
71
58
2a
E2
68
57
75
11A1:8D
11A9:78
11B1:14
11B9:FA
11¢C1:D4
LLCO eI!
11D1:FC
11D9:84
11E1:85
11E9:65
LLF1:A5
11F9:CE
1261:60
1209:FF
1211:06
1219: 3F
1221:8D
1229:9D
1231:78
1239:61
1241:9D
1249:CE
1251:8D
1259:CA
1261:9D
1269:50
1271:D4
1279:9D
1281:50
1289:D4
1291:16
1299:68
12A1: 67
12A9:14
12B1:32
12B9:42
12C1:4A
1209:14
12D1:BC
12D9: 6B
12E1:6B
12E9:00
12F1:A9
12F9:A2
1361:21
1369:8D
1311:CE
1319:49
1321:00
1329:16
1331:61
1339:FE
1341:69
1349: 86
1351:FF
1359:16
G4
Dg
CA
G6
85
FE
F8
85
8E
CF
85
0G
16
EE
FD
09
Cs)
ce
AD
A8
96
09
67
OD
BD
99
78
BD
99
99
8D
Gl
oc
3c
36
A6
AE
B8
15
LS
Cr)
oo
ag
8D
AG
gl
@D
CF
E6
8D
8D
85
CA
FC
FD
Bl
138
1391:F1l
26
CF
4c
13B9:29
13C1:ED
13C€9:96
13D1:93
13D9:14
13E1:92
13E9:13
13F1:08
13F9:AD
1461:8D
1409:CF
1411:19
1419:0F
1421:0E
1429:GA
1431:58
1439:CF
1441:3AD
1449:EO
1451:CF
1459:28
1461:6D
1469:6E
1471:90
1479:CE
1481:A9
1489:D4
1491:CA
1499:69
14A1:0D
14A9: FO
14B1:EE
14B9;:GE
14C1L:CF
14C9:AD
14D1:64
14D9:EE
14E1:04
14E9:BD
14F1:D8
14F9:CF
1561:7D
1569:83
1511:D3
1519:A9
1521:AD
1529:D9
1531:6F
1539: 3B
1541:8C
1549:CF
1551:18
1559:18
1561:18
1569:8D
1571:A9
157
158
1589:8D
1591:D8
1599:DG
15A1:CF
23
4E
25
Bl
F8
8c
66
E9
14
D7
8B
EA
86
13
9E
88
51
Dl
20Cc
43
Al
96
76
5D
aly)
76
2D
BE
AA
66
Fl
A8
D7
63
D8
B4
41
63
Do
92
18
BC
6c
72
48
26
3D
2D
El
8E
53
1F
64
cs
64
45
8E
39
26
62
7A
9A
6c
15C9:AA
15D1:9D
15D9:99
15E1:26
15E9:8C
15F1:A9
15F9:14
BS
99
97
CI)
03
AUGUST 1993 COMPUTE G-33
PROGRAMS
93
78
74
78
16
16
16
AA
D4
16
CF
D4
16
4c
Oo
60
cs
45
o9
EO
36
6B
DE
16
26
E8
C6
3E
69
6E
23
32
16
8D
16
15
4c
16
07
AD
CE
CE
16
CE
CE
91
6o
0)
Ag
15
8D
63
Ag
49
29
19
18
85
91
18
85
D3
1)
i)
1F
63
14
58
OF
61
G1
CE
69
D3
D3
69
D3
8D
@5
9@
14
68
AD
CE
78
7A
79
16
85
79
a4
85
77
16
@5
Ur)
16293AD
1631:8D
1639:AG
1641:BD
1649:BD
1651:BD
1659:BD
1661:BD
1669:49
1671:31
1679360
Michael Sedlezky is a 35-year-old me-
chanic and father of four children. He’s
the author of Gazette programs Code-
busters, Hoverjet, and Checker Com-
mand. He lives in Mississauga, Ontar-
jo, Canada.
CHASE
By Jon Piltingsrud
You're at home, quietly studying with a
friend, when a fanfare of noise erupts
from your 64. It announces the arrival of
a message from aliens who have taken
control of your computer. The communi-
qué informs you that the advanced race
has sent the two of you something impor-
tant: a game! Before you know it, you and
your friend are in deadly competition on
the game's playing field.
Chase is an arcade-style, two-player
game for the 64 that requires two joy-
sticks. The game consists of two pro-
grams: Chase, a BASIC loader; and
Chase ML, a machine language pro-
gram. To help avoid typing errors, enter
Chase with The Automatic Proofreader.
See “Typing Aids” elsewhere in this sec-
tion. Be sure to save a copy of the pro-
gram before you try to run it.
Chase ML is written in machine lan-
guage. Use MLX, our machine language
entry program, to enter it. When MLX
prompts, respond with the following start-
ing and ending addresses.
Starting address: 2795
Ending address: 3484
Be sure to save the ML program with
the filename CHASE ML on the same
disk as Chase. Chase automatically
loads this program when it runs and
searches for that filename.
G-34 COMPUTE AUGUST 1993
The Rules
When you run Chase, you'll see the
message from the aliens. After you've
read it, press any key, and you and
your opponent will be on the playing
field. One player operates the red disk
and the other the yellow one.
You'll see your weapons on the
field. They resemble footballs. Each
weapon is colored to match one of the
players. The idea simply is to pick up
your weapon and touch your oppo-
nent, thereby destroying him.
While the rules may be simple, exe-
cuting the game plan isn't. Your oppo-
nent will be trying to avoid you until he
is armed. As powerful as these weap-
ons are, they have a few quirks. You
can hold them for only a few seconds
before they fly from your grasp and
land on another part of the screen.
As you chase after your weapon,
you may reach your opponent's first. If
you touch your opponent's weapon, it
will jump to a random location on the
screen. To make the chase more inter-
esting, each field has a number of ob-
stacles scattered about it.
To quit the game and see a tally of
each player's kills, press the Q key.
From the score screen, press either of
the joystick fire buttons to resume.
CHASE
CS 16 REM COPYRIGHT 1993 - COM
PUTE PUBLICATIONS INLT L
TD - ALL RIGHTS RESERVED
IFA=@THENA=1:LOAD"CHASE
{SPACE}ML",8,1
POKE56, 39:CLR:A=RND(-TI)
2C=65526
$=54272:D=56576:E=53272:
F=53265
POKEF ,, 0: POKE53289,: POKE
53281,6
FORL=GT023: POKES+L,@:NEX
T
PRINT" {CLR}{6}{DOWN} "7A
S="1#S$5() *+,"+CHRS (34)
POKES+24,15: POKES+18,128
POKES+6, 255: POKES+2, 255:
POKES+4, 33
POKES+15,RND(G) *5+1
POKED, PEEK (D)OR3: POKEE, 2
8:POKEF, 27
FORW=@T03:FORL=GTORND (8)
*4
PRINTMIDS (AS, INT (RND (@) *
11+1),1);
POKES+1, PEEK (S+27)/8:FOR
T=1T050:NEXT
NEXTL: PRINT" ";:NEXTW
RB 12
HQ 14
FD 16
MC 18
PM 26
22
68
73
72
74
76
78
8G
82
84
86
88
96
92
94
96
98
164
162
164
166
168
116
112
114
116
118
120
PRINTCHRS (13)CHRS$(145)TA
B(13);
READBS$: IFBS<>"Z"THENPRIN
TBS$:GOTO32
READBS$: PRINTBS: POKES+18,
@:POKES+4,9
POKE198,@:WAIT198,1
POKE826,@:POKE821,0:SYS1
6133
POKEF,@: PRINT" {CLR}"
POKE781,9: POKE782, 9: POKE
783,0:SYSC
PRINTTAB(9)"{GRN}///////
VINITITIITITT LT"
PRINTTAB (9) "{RED} PLAYER
{SPACE}ONE'S SCORE:";
A=PEEK(82@) : PRINTA: PRINT
PRINTTAB (9) "{YEL}PLAYER
{SPACE}TWO'S SCORE:";
B=PEEK (821) : PRINTB: PRINT
: PRINTTAB (9)
IFA>BTHENPRINT" {GRN}
{3 SPACES}PLAYER ONE WIN
s["
IFA<BTHENPRINT"{GRN}
{3 SPACES}PLAYER TWO WIN
st"
IFA=BTHENPRINT" {GRN}
{2 SPACES}THE GAME IS TI
ED."
PRINTTAB(9)"////////////
LITA1111/"
POKE781, 24: POKE782,8:POK
E783,0:SYSC
AS="PRESS FIRE TO PLAY A
GAIN"
POKED, PEEK (D) OR3: POKEE, 2
8:POKEF, 27
PRINTTAB(8)"{GRN}";
A=46:GOSUB90:IFB=1THENSS
PRINTTAB (8) "{BLK}";
A=10:GOSUB90:IFB=1THENSG
GoTO8s
PRINTAS;"{UP}":B=6:X=1
IF (PEEK (56326) AND16) =OTH
ENB=1
IF (PEEK (56321) AND16) =OTH
ENB=1
IFB=QTHENX=X+1: IFX<>ATHE
N92
RETURN
DATA
H
DATA
DATA
DATA
@eae
DATA
DATA
eeae
DATA
D
LIVE BROADCAST WIT
GAZETTE'S TACHYON
IMPULSE COPYRIGHT
CIRCA 1993. . .@@@
GREETINGS FROM THE
PLANET +#S$%*&&S().
WE ARE WELL PLEASE
DATA
DATA
DATA
DATA
TO BRING YOU THIS
GAME PLAYED BY THE
COOL GUYS AND GALS
ON INHABITED PLANE
GJ 122
CH 124
FX 126
ER 128
DB 138
AS 132
Gs 134
HA 136
CK 138
JM 149
JA 142
FR 144
CA 146
RS 148
BX 156
QJ 152
RA 154
Sx 156
EM 158
AK 166
FS 162
EJ 164
DATA THROUGHOUT THE KNO
DATA STELLAR SYSTEM. @@@
DATA WITHIN MOMENTS THI
DATA TWO PLAYER MARVEL
DATA WILL BE TRANSFERRE
DATA TO YOUR REMOTE 64.
DATA FORTUNATELY ENOUGH
DATA FOR YOU- WE HAVE M
DATA IT POSSIBLE TO PLA
DATA ON YOUR PRIMITIVE-
DATA ALBEIT JUGGERNAUT-
DATA COMPUTER INTERFACE
-@@@
DATA COINCIDENTALLY- TH
E
DATA AUTHORS ALSO HAPPE
N
DATA TO BE AMONG YOU.@@
eee
DATA THEIR NAME'S ARE.
{SPACE}. .
DATA TODD PILTINGSRUD A
ND
DATA JON{2 SPACES}PILTI
NGSRUD. @@@@@
DATA IF YOU HAPPEN TO R
UN
DATA INTO THEM- TELL TH
EM
DATA TO PHONE HOME. @@@@
@aee
DATA Z,.+. »END OF MESS
AGE
CHASE ML
2795:A9
279D:8D
27A5:8E
27AD: 2D
27B5:8E
27BD: 2B
27C5:1F
27CD:1E
2705:2C
27DD:E6
27E5:6A
27ED:2D
27F5:D0
27FD:78
2805:99
286D:63
2815:80)
281D:AD
2825:4C
282D:20
2835:68
283D:AD
2845:8F
284D:61
2855:29
GA 8D 24 2E 8D 6F 2E E3
7D 2D 8D DC 2D A2 9G 71
22 2B 8E 6D 2E 8E 7B 2F
8E DA 20 8E 1A D@ E8 CB
19 D@ 26 Bl 28 26 9B B7
20 9F 2B AD 1E D@ AD 35
DG AO G1 8D 1A DG AD 41
DG 8D B4 2C 4A 8D B3 BS
9G 2A A2 @0 26 El 2B 3D
G2 D@ 18 EE 22 2E AQ BE
8D 27 DG AY 64 8D 7B G4
AD 15 D@ 29 FB 8D 15 57
4C 62 28 E@ G3 DB BS 3c
20 9F 2B 58 4E B3 2C C6
31 A2 G1 20 El 2B EO GE
D@ 18 EE 6D 2E AQ BA 86
28 D@ AQ 64 8D DA 2D 27
15 D@ 29 F7 8D 15 DG 27
38 28 EG G2 DG GB 78 98
9B 2B 58 4C 38 28 E® D3
FO GF AQ 7F 8D 88 DC 4D
81 DC C9 BF DG 88 4C 7B
28 AD 7B 2D F@ G2 AY AF
AE DA 2D FG 82 69 G2 9B
03 FO DF C9 G3 FO DB 2F
285D: 26
2865: 8E
286D:03
2875:FB
NOFVQH#NOGCCCCOTDOSRAVNOASASBBOBANGVISIUYT
298D:00
2995:62
299D:2E
29A5:03
29AD:6E
29B5:62
29BD:6E
2905:29
29CD: 29
29D5:AE
29DD:BD
}529E5:5¢
29ED:1B
295: 2A
29FD: 2A
2AG5: 2A
2AGD:58
2A15:5E
2A1D:5E
2A25:5D
2A2D: 3F
2A35: 3F
2A3D:41
2045: 42
2a4D:44
2A55:02
2A5D: 2A
2A65:91
2A6D: 62
2A75: 06
2A7D: 66
2A85:AA
96
EE
3F
FB
32!
FB
15
8E
A2
AQ
8D
8D
14
26
28
Da
27
cg
De
DG
DD
8D
8E
PA
Ly
ol
16
6c
@D
68
6B
Ur)
82
ae}
2B
F2
2B
62
63
63
3c
2B
G2
2B
AE
BD
56
85
a1
91
Ui)
2A
2A
57
5D
SE
SE
5B
3E
3F
41
44
65
8c
84
G2
93
oo
66
BD
2A9D:DB
2AA5: 22
2AAD:C8
2AB5: 04
2ABD:05
2AC5:C8
2ACD: 62
2AD5:65
2ADD:B1l
2AE5:29
2AED:91
2AF5:65
2AFD:AC
2B@5:CE
2B@6D:44
2B15:05
2B1D:40
2B25:2B
2B20:98
2B35:CB
2B3D:C6
2B45:61
2B4D:CF
2B55:02
2B5D: 04
2B65:26
2B6D:C5
2B75:A8
2B7D:A4
2B85:00
2B8D: 28
2B95:09
2B9D: FO
2BA5:96
2BAD:35
2BB5: 2B
2BBD: 64
2BC5: 00
2BCD: 8D
2BD5: 2B
2BDD:FB
2BE5:2C
2BED:CB
2BFS:F9
2BFD: FO
2C05:DG
2C6D:BD
2C15:D9
2C1D: 39
2C25:A9
2C2D:3D
2C35:A9
2C3D:C9
2045:49
2C4D:61
2C55:FF
2C5D:CB
2C65:8E
2C6D:CA
2075: 67
2C7D: 68
2c85:2¢c
2C8D:2C
2095:88
2C9D:9D
2CA5:A2
2CAD:16
2CB5: 06
65
Dg
c8 DO
DG C8
Bl 64
65 04
AG 86
Bl 64
65 04
95 85
G4 36
7E C8
G2.CB
G2 85
1D 2B
1E 2B
85 04
CE lc
6G 6B
58 2B
G1 62
cc 61
26 80
04 C6
DG GC
D4 DS
BE 26
66 Cl
48 98
68 26
64 AS
66 85
96 86
88 2F
G2 A2
AG 2B
48 AQ
18 69
DO 68
GA GA
E@ 2B
GD EG
OO F7
8E BS
2C GA
5D AD
55 38
BO 64
2c 38
8D CC
C4 2c
G1 8D
C4 2c
@1 28
FE FG
FF 69
FO 64
99 BC
2c 'c9
CBE2C
16 FA
48 BD
2c CC
BO G6
48 98
16 DE
B8 2C
@3 BD
F8 8E
0G 6G
AUGUST 1993 COMPUTE
68
cD
cB
2c
2c
oo
DB
Tt)
8D
Dg
ag
E6
2B
Ag
A8
OL
G4
Go
98
63
D6
65
85
1)
58
62
CA
G8
C6
G2
ol
Ol
c2
44
68
BC
Go
85
oo
06
Ag
69
6E
9D
69
GA
DD
66
CB
AD
2c
2c
ol
99
Go
DG
2c
Dg
2c
OF
2c
cg
AQ
AD
G3
2c
AG
2c
BC
BC
CA
86
CB
CA
i)
a6
G-35
PROGRAMS
2CBD:0G GG 86 GO GG BG GG G1 17 | 2EED:G3 20 9F 2B 60 28 GB 8G YE |311D:73 G3 G3 BC G7 G3 7E 30 8C
2CC5:0@ G2 G6 G4 GG GB BG GB FE | 2EF5:28 G2 80 AD GG DC 29 GF AG | 3125:18 GC FS 3C 66 66 BC 18 76
2CCD:00 AG GF 8C G5 D4 BC GC 99 | 2EFD:49 GF AA AD 10 DG 29 G1 GA |312D:33 36 FC 68 38 18 GC G6 SC
2CD5:D4 AG GA 8C G6 D4 BC GD 74 | 2FG5:8D 8C 2F 18 AD BG D@ 7D 41 |3135:73 DB 6E GE 1C 38 8G BO BB
2CDD:D4 AG 96 8C GE D4 AG 29 89 | 2FgD:6B 2F 8D GB DG AD 8C 2F 24 | 313D:G8 BG OG CC 66 66 77 77 OF
2CE5:8C 19 D4 AG G3 8C 1l D4 GE | 2F15:7D 76 2F 8D 8C 2F AD 10 1B | 3145:66 66 33 18 36 66 66 66 AA
2CED:AG 81 8C G4 D4 8C GB D4 8C | 2F1D:DG 29 FE OD 8C 2F 8D 16 2B | 314D:G6 7C GG GG GB FE G6 E6 CO
2CF5:A@ 40 8C 12 D4 AG G2 8C 1B | 2F25:DG 18 AD Gl DG 7D 81 2F 66 | 3155:3E 18 1E G6 FE 18 30 FC 56
2CFD:FA 2F 78 A@ 8D 8C 14 G3 82 | 2F2D:8D G1 DB AD G1 DC 29 GF 64 | 315D:06 FC BG OG 3E FG 38 FO 19
2D05:A@ 2F 8C 15 63 58 66 20 BB | 2F35:49 GF AA AD 14 D@ 4A 29 AD |3165:3F F3 GG GB GB GG BG GG 64
2D8D:29 2D 26 88 2D 20 E7 2D BA | 2F3p:G1 8D 8C 2F 18 AD G2 DG 5G | 316D:38 38 70 BB GB GB BG BG GB
2D15:20 2F 2E 26 7A 2E 26 F8 D8 | 2F45:7D 6B 2F 8D G2 DG AD 8C 37 |3175:38 38 G0 BG GO GO EF FF 62
2D1D:2E 68 A8 68 AA AQ Gl 8D CF | 2F4D:2F 7D 76 2F GA 8D 8C 2F 33 | 317D:08 GG GG 7C C6 DE F6 C6 GE
2D25:19 D@ 68 46 AD 15 D@® 29 DD | 2F55:AD 16 DG 29 FD @D 8C 2F A7 | 3185:C6 7C OG 18 18 78 18 18 D6
2D2D:G4 D@ 4A AD 7B 2D FG @5 59 | 2F5p:8D 14 DG 18 AD G3 DG 7D BA | 318D:18 FF GG 7C C6 G6 1C 74 BA
2D35:CE 7B 2D D@ 48 AD 7D 2D 69 | 2F65:81 2F 8D G3 NG 6G GB GG 3A | 3195:CB FE @G 7C C6 G6 3C G6 AC
2D3D:C9 GA D@ OF AO G2 BD 27 Al | 2F6D:0G OG FE FE FE @@ @2 G2 99 | 319D:C6 7C OG GE 1E 36 E6 FF FA
2D45:D@ 20 9B 2B A9 BB 8D 7D 1C | 2F75:G2 GO BG GG BG FF FF FF D4 | 31A5:06 G6 @G FE C@ FC 96 G6 88
2n4D:2D FG 95 CE 7C 2D D@ 25 67 | 2F7D:96 66 6B OB GO FE G2 OG DB | 31aD:C6 7C BG 7C C6 CA FC C6 54
2D55:A9 06 8D 7C 2D AE 7D 2D CB | 2F85:08 FE 62 G6 6 FE 82 G8 E3 | 3185:C6 7C OG FE C6 GC 18 18 39
2D5D:BD 7E 2D 8D @@ D4 E8 BD 97 | 2F8D:CE FA 2F DG G8 AY 8G 8D 7A | 31BD:18 18 GG 7C C6 C6 7C C6 GB
2D65:7E 2D 8D G1 D4 E8 8E 7D FO | 2F95:04 D4 8D OB D4 AD FB 2F 12 | 31c5:c6 7C GB 7C C6 C6 7E G6 C6
2D6D:2D E@ BA DG G8 AD 15 DB DE | 2F9D:FG 21 CE FC 2F DB 1C AY G5 | 31CcD:Cc6 7c GO GO GB GO GG GO B2
2075:09 64 8D 15 D@ 68 GO G6 66 | 2FA5:G5 8D FC 2F EE FS 3F AD G4 | 31D5:60 G8 0 GB GO BO GO GO 38
2D7D:0A 39 35 3E 2A A5 1F 1F FA | 2FAD:F8 3F C9 D2 D@ GD AY BG CC | 31DD:48 BO BO BA BB BB BG GG 4a
2D85:15 @@ 6G AD 15 DG 29 G8 8B | 2FB5:8D FB 2F AD 15 DO 29 FE D7 | 3165:08 GG BO BG BO GB GB GO 48
2D8D:D@ 4A AD DA 2D F@ 65 CE 4C | 2FBD:8D 15 D@ AD FD 2F F@ 21 CC | 31ED:00 GG GO GG GB 15 15 1A EB
2D95:DA 2D D@ 4G AD 7D 2D C9 4E | 2FC5:CE FE 2F D@ 1C AY G5 8D 5D | 31F5:1A 1B 1B GG GG 55 55 AA 3A
2D9D:GA D@ GF AY G7 8D 28 DB 3D | 2FCD:FE 2F EE F9 3F AD F9 3F D8 | 31FD:AA FF FF @@ 00 54 54 A4 54
2DA5:26 9F 2B A9 GB 8D 7D 2D 56 | 2FD5:C9 D2 DG BD AY BG BD FD 1F | 3295:A4 E4 E4 E4 E4 E4 E4 E4 49
2DAD:F9 G65 CE 7C 2D D@ 25 AD G4 | 2FDD:2F AD 15 DO 29 FD 8D 15 60 | 32gp:E4 E4 E4 1B 1B 1B 1B 1B 62
2DB5:66 8D 7C 2D AE 7D 2D BD 5C | 2FE5:D@ AD 1B D4 8D G1 D4 8D 78 | 3215:1B 1B 1B 1B 1B 1A 1A 15 6D
2DBD:DD 2D 8D 67 D4 E8 BD DD 18 | 2FED:68 D4 68 A8 68 AA AY Gl SF | 321D:15 @G GO FF FF AA AA 55 61
2DC5:2D 8D 68 D4 E8 8E 7D 2D 12 | 2FF5:8D 19 D@ 68 48 8G GB G5 B9 | 3225:55 GG GB E4 E4 A4 A4 54 DO
2DCD:E@ GA DO G8 AD 15 DB GI 22 | 2FFD:66 G5 2C GG GB BG GB BG 23 | 322D:54 BG GB 54 5C 58 78 68 JE
2D05:08 8D 15 D@ 68 GB G6 GA 6G | 3665:G6 BG GB BG BB 7C GE 7E El | 3235:E8 28 28 28 2B 29 2D 25 1D
2DDD:6B 2F A2 25 31 1C Dl 12 16 | 360D:C6 7E GB CG CO FC C6 C6 CA | 323D:35 15 D7 GO BA 2A 2B 2D FB
2DE5:0@0 @@ AD 22 2E F@ 35 AD 65 | 3015:C6 FC 68 GG GB 7E CB CG 54 | 3245:35 15 D5 OD BS DS 57 SC 25
2DED:24 2E C9 GA D@ G7 AY BB BS | 361D:CG 7E GB BE B6 7E C6 C6 5C | 324D:76 CO BB 5C 7A EA AA GO B4
2DF5:8D 24 2E F@ 65 CE 23 2E CC | 3625:C6 7E 68 BB BB 7C C6 FE G7 | 3255:G6 BG GB BG AA AA AB GD 1lE
2DFD:D@ 22 AO G6 8D 23 2E AE E2 | 362D:CG 7C GG GE 18 18 7E 18 24 | 325p:gg g@ BO GD BS DS 57 SC A2
2605:24 2E BD 25 2E 8D @@ D4 85 | 3635:18 18 6G BG BG 7E C6 C6 FS | 3265:99 @G BG 5C 7A EA AA Gl 65
2E0D:E8 BD 25 2E 8D Gl D4 E8 D7 | 303D:7E G6 FC C@ C@ FC C6 C6 58 | 326p:gg ao GG GO AZ AB AB 68 33
2E15:8E 24 2B E@ GA DG G5 AY DC | 3045:C6 C6 GG 38 GO 78 18 18 68 | 3275:68 28 28 28 28 29 29 2A G2
2E1D:00 8D 22 2E 6@ BG G6 GA 1D | 364D:18 7C GO G6 GB G6 G6 G6 63 | 327p:2A GA GB GG GB GG 40 AA A4
2625:1F 15 A5 1F 3E 2A 39 35 3F | 3055:06 86 7C C@ C@ CC D8 F8 BY | 32g5:aB AD 35 GG GG BB 35 D5 12
2E2D:6@ GG AD 6D 2E F@ 38 AD 69 | 305D:CC C6 GG 78 18 18 18 18 C6 | 3280:57 5E 74 GO GG GG 7G EA GF
2E35:6F 2E C9 GA DG 67 AD GB A4 | 3065:18 7C GB GB GG C6 FF FF GBC | 3295:AA AA GO GG GB GG GG AA A4
2E3D:8D 6F 2E F@ @5 CE 6E 2E 7F | 366D:DB C3 68 BG BB FC C6 C4 F4 | 329D:AB AD 35 6G G3 GD 35 D5 76
2B45:D0 25 A9 G6 8D 6E 2E AE 1A | 3075:C6 C6 GB BG BG 7C C6 C6 31 | 32a5:57 5E 70 57 54 5C 78 ES BE
2E4D:6F 2E BD 7@ 2E 8M @7 D4 36 | 347D:C6 7C 68 BB BB FC C6 C6 AB | 32AD:A8 AG BB GO GG AA 8B 8G BA
2E55:E8 BD 76 2E 8D @8 D4 FB A5 | 3085:FC CO CG BG GG 7E C6 C6 FA | 32n5:8F 8C 8C GO GB AA BG GO 41
2E5D:8E 6F 2E EG GA D@ G8 AY FD | 388D:7E G6 G6 BO BG FC C6 CG Bl | 328n:FF GG GG GG GG AA G2 G2 D2
2£65:00 8D 6D 2E 8D 88 D4 6G 4C | 3995:CB CO GB BB BB 7E CB 7C 7E | 32c5:F2 32 32 BC BC BF BB 8G 63
2E6D:00 66 GA Dl 12 31 1C A2 D9 | 369D:06 FC 6G 18 18 FE 18 18 C6 | 32cp:AA GG GG GG GG FF G0 GO 87
2E75:25 6B 2F 6G OG AD 1F D@ EA | 36A5:18 GE GB BG BB C6 C6 C6 GS | 32p5:An GO GG 32 32 F2 G2 G2 16
2E7D:4A 48 9G 1A AD F2 2E 8D E7 | 36AD:C6 7E 3G BG BG C6 C6 C6 8G | 32pD:AA GG GB BC 8C BC BC BC 9C
2£85:00 D@ AD 16 D@ 29 FE GD G3 | 39B5:7C 38 GG GG BG 63 6B 7E 46 | 3265:8C BC 8C 32 32 32 32 32 59
2E8D:F3 2E 8D 16 D@ AD F4 2E 77 | 36BD:3E 36 G8 BG GG C6 6C 38 F6 | 32ED:32 32 32 2A AS 83 3F FD BG
2E95:8D @1 D@ 4C AF 2E AD @@ 69 | 30C5:6C C6 BO BB BB C6 C6 C6 7D | 32F5:D5 54 42 AB 2A C2 FC 7F G3
2E9D:D@ 8D F2 2E AD 16 DG 29 7F | 36CD:7C 38 FG GB BG FE GC 38 E4 | 32FD:57 15 81 6G GG BB GG GB 83
2EA5:61 8D F3 2E AD G1 D@ 8D E7 | 36D5:66 FE 98 1C 1C 1C 1C 1C 8D | 33¢5:00 GG GG GO GG GG GG G2 6D
2EAD:F4 2E 68 4A 48 96 1A AD 28] 36DD:1C G8 1C 86 GG BB BG GB CF | 33gD:AA 8G GA AA AG GA 55 AG 4D
2EB5:F5 2E 8D 62 D@ AD 16 DG 98 | 3GE5:GG6 GB GB BG GB GG GO BB 46 | 3315:29 55 68 29 7D 68 29 FF E4
2EBD:29 FD GD F6 2E 8D 16 D@ D7 | 3GED:G0 6G GB BB GO BG GB BO 4E | 331D:68 29 FF 68 29 7D 68 29 Cl
2EC5:AD F7 2E 8D @3 D@ 4C E2 6C | 3GF5:60 BG GB BG BG BB BB GO 56 | 3325:55 68 GA 55 AB GA AA AG 4A
2ECD:2E AD @2 DG 8D F5 2E AD 48 | 3GFD:9G GG BG GG GG BB GB GB SE | 332p:G2 AA 86 GH GG GG GG OG 4F
2ED5:16 D@ 29 G2 8D F6 2E AD G6 | 31465:60 BG BB 7C C6 C6 6C 18 71 | 3335:g4 BG BB GB GB BB BG 2G OB
2EDD:03 D@ 8D F7 2E 68 4A 48 11 | 316D:30 34 1F 96 86 7C CB C@ 3C | 333p:g6 BG G8 GB GB GB BG GG A4
2BE5:99 63 20 9B 2B 68 4A 94 29 | 3115:7C G6 G6 C@ CG CE DB DB D8 | 3345:4¢ gG GB GG GO GO GO GG AB
G-36 | COMPUTE AUGUST 1993
334D:06 08 GB GB GB GB GB BG B3
3355:08 G8 68 GB 28 BB GB AA AT
335D:08 62 96 86 6G AA BB GB C9
3365:28 66 90 GB BB BG GB GB DF
336D:08 66 GB GO GG BB GB GB D3
3375:068 6G GB BB GG BG GB BG DB
337D:68 66 G2 G6 GG GB BB GG 24
3385:98 66 GG G6 GG BG GO G2 ED
338D:8A 80 GA AA AG GA 54 AG BB
3395:29 55 68 28 7D 66 29 FF 35
339D:68 G9 FF 68 29 7C 68 29 36
33A5:55 68 68 55 20 GA AA AG 46
33AD:02 A2 86 GG GG BG GB GB CD
33B5:66 69 96 G8 GG GG BB BG IC
33BD:08 00 68 GG 6G GG GB GB 25
33C5:06 G6 6G BB BG BGO GO G2 2E
33CD:GA 86 GA 8A AG GA 56 AB Bl
33D5:29 54 68 20 7D 406 98 FF Fl
330D:60 09 FF 68 29 76 68 26 39
3365:54 68 G8 54 26 GA 82 26 25
33ED:02 A2 86 6G GG BO GB GB GE
33F5:08 G6 G8 OG BB BG BB GB SC
33FD:06 G6 G8 BB GB BG BB BB 65
3405:06 G6 88 GG GG BG GB G2 GF
3460:0A 66 62 8A AG G8 5B AGB CO
3415:29 54 28 20 76 48 G8 3F 62
341D:66 66 CF 46 29 76 68 26 AF
3425:54 68 68 14 26 GG 82 GG 1A
342D:062 AG BG BG BB BB GB BG BE
3435:00 G0 GG GB BG BB BB BG 9D
343D:08 68 G8 BG BH GB GB BB AG
3445:06 G8 G@ G@ OG BG BB G2 AF
344D:GA 66 G2 88 AG BB 5G 86 C9
3455329 14 28 26 76 406 G8 33 26
345D:68 08 CC 6G 28 76 68 26 83
3465:44 48 68 14 26 GB 82 GO 4A
346D:02 20 66 88 GB GB GG BG DE
3475:08 64 GG 8G G6 GB GB BG DD
347D:06 GG G8 GO BB GB BO GG E6
Jon Piltingsrud lives in New Richland,
Minnesota.
MEMORY MONITOR
By Kenneth R. Warrick
Several weeks ago, | was in a room filled
with more than 200 people, demonstrat-
ing a program that did a lot of string build-
ing. After a while, the program came toa
screeching halt by the inevitable gar-
bage collection process.
For more that a minute, | had all these
people cooling their heels while my trusty
64 did its housekeeping. | thought to my-
self how helpful it might be to keep a run-
ning check on the amount of string stor-
age space still available.
Of course, this number is what we are
looking for when we execute the BASIC
FRE command. But since FRE performs
garbage collection first, it doesn’t tell us
how much space has been taken up by
obsolete string fragments. An onscreen
monitor that would keep track of space
available would be just what the doctor
ordered!
That's what Memory Monitor for the 64
does. It's a machine language utility that
keeps track of the amount of free memo-
ty remaining and prints it in the upper
left corner of the screen.
Typing It In
Memory is a BASIC loader that creates
Memory Monitor when it runs and
saves the machine language program
to disk with the name Memory Monitor.
To help avoid typing errors, enter Mem-
ory with The Automatic Proofreader.
See “Typing Aids” elsewhere in this sec-
tion. Be sure to save a copy of the pro-
gram before you try to run it.
Before | get into the program itself,
here's a little of the process that went
into its creation.
Sparked by the creative muse, |
thumbed through my copy of Mapping
the Commodore 64 and 64C to find the
location of the pointers at the begin-
ning and end of RAM that's available
for string storage. The end of the BA-
SIC array storage area (+1) marks the
first byte of the string storage area.
This address is stored at 49-50 ($31-
$32). Creating numerical variables
takes up memory, moving this number
upward and reducing the amount of
space left available for strings.
As strings are created, storage be-
gins at 40959 ($9FFF) and moves down-
ward toward the address found in $31-
$32. Thus the low end of currently
used string space marks the highest ad-
dress still available for string storage.
This address is kept at 51-52 ($33-
$34). By subtracting, we could find our
number.
We don't want our monitor to take
up any precious RAM, so we shouldn't
write a long BASIC routine to do the
job. A machine language routine
that’s hidden away would be best.
Our routine should run unattended
in the background without having to be
called repeatedly from our BASIC pro-
gram. The Kernal has in its bag of
tricks a routine which every '/eo second
interrupts whatever BASIC is doing to
increment the clock, control flashing of
the cursor, update whatever needs to
be on the screen, and check the key-
board buffer for any keypresses. By
wedging our routine in ahead of all
these housekeeping chores, our task
could be taken care of automatically.
Getting back to our little subtraction |
problem, subtracting the address
found at $31-$32 from the address
found at $33-$34 obtains our number
in the form of two bytes in the mathe-
matical format of base 256. How do we
convert this to decimal format that hu-
mans can understand? Programmers fa-
miliar with Kernal routines will recall the
routine LINPRT found at 48589
($BDCD) which is normally used to con-
vert the two-byte BASIC line numbers
to decimal and print their ASCII repre-
sentation to the current output device.
That should take care of this project in
short order.
Wrong! The interrupt routine has a
strict time schedule that will only allow
us to wedge in a fairly short routine. An-
ything longer will crash! That is just
what LINPRT is—too long. Back to the
drawing board!
By writing an efficient routine that util-
izes a large (2048 byte) lookup table,
we can meet the time schedule.
Those of us who hate mile-long lists of
DATA statements will like how short our
loader is. Our lookup table is created
for us by some fancy mathematics in
lines 30-60.
The program searches the first part
of our lookup table for the screen
POKE codes (which for the digits 0-9
are the same as their ASCII codes) for
multiples of 256 (represented by the
high byte obtained from our subtrac-
tion) in decimal format. The results are
parked in a five-byte holding area at
$C800-$C804.
The second part of the lookup table
has the values of 0-256 (represented
by the low byte) to be added into our
five bytes. Later we correct for any of
these sums that exceed 9 and make ap-
propriate carries. Then, poke to the
screen, color it white, and exit to the nor-
mal interrupt routine.
After reading the code for the work-
ing routine from DATA statements and
poking it into place, our loader creates
the lookup table. It then saves the en-
tire bundle to disk with the filename
MEMORY MONITOR by calling the Ker-
nal routine SAVE at 65496.
Once Memory Monitor is on your
work disk, you can load it with the ,8,1
extension and run it with SYS 51205.
AUGUST 1993 COMPUTE G-37
PROGRAMS
You can also load and run the routine
from within a BASIC program with the
following line.
10 IF J=0 THEN J=1: LOAD ‘MEMORY
MONITOR”,8,1 20 SYS 51205
The manipulation of J prevents endless
loop recycling since a LOAD com-
mand from program mode automatical-
ly executes a GOTO the first program
line. While this may be done easily at
the beginning of a BASIC program, lo-
cating it anywhere else would require
a first line of IF J=1 THEN XXX, with
XXX the line with the SYS command.
Here's an easier one-liner that may
be located anywhere in your program.
10 POKE 780,0: OPEN8,8,8,1,"“MEMORY
MONITOR”: SYS 65493: CLOSE 8:
SYS 51205
To turn off Memory Monitor and re-
turn to guessing how much memory is
left, enter SYS 51326.
MEMORY
DM 1 REM COPYRIGHT 1993 - COMP
UTE PUBLICATIONS INTL LTD
- ALL RIGHTS RESERVED
HA 5 PRINT" {DOWN}WAIT 66 SECON
DS...":PRINT"CREATING MEM
ORY MONITOR"
16 FORI=51205 TO 51338:READ
A:CK=CK+A: POKEI ,A:NEXT
28 IFCK<>16246THENPRINT"ERR
OR IN DATA STATEMENTS":E
ND
FORN=6T0255:JS=RIGHTS ("@
GG0G"+MIDS (STRS(256*N) ,2
) ,5) :FORK=1T05
POKE48896+256*K+N,ASC (MI
DS(J$,K,1)) :NEXT:NEXT
FORN=6T0255: JS=RIGHTS ("9
G6"+MIDS (STRS(N) ,2) ,3):F
ORK=1T03
POKE5G176+256*K+N, VAL (MI
DS$(J$,K,1)) :NEXT:NEXT:0P
EN8,8,8,"MEMORY MONITOR"
POKE25@,6:POKE251,192:PO
KE789, 250: POKE781,138: PO
KE782,200:SYS65496
DATA 120,169,18,141,29,3
,169,260,141,21,3,88,96,
56,165,51,229,49,133,251
7165
DATA 52,229,50,168,185,0
1192,141,0,260,185,0,193
7141,1,200,185,0,194,141
2
’
HR 106 DATA 200,185,9,195,141,
3,266,185,0,196,141,4,2
COMPUTE AUGUST 1993
MC
sc
SX 36
JB 49
RJ 58
XK 68
DM 76
JK 86
BA 90
G-38
60,24,164,251,185,0,197
1109,2
DATA 264,141,2,200,185,
@,198,169,3,200,141,3,2
G8,185,0,199,199,4,208,
141,4
DATA 266,160,5,162,9,13
4,252,162,0,185,255,199
124,101,252,201,58,144,
4,24
DATA 165, 246,232,153,25
5,3,169,1,153,255,215,1
36,208,227,76,49,234,12
6,169
DATA 49,141,20,3,169,23
4,141,21,3,88,96
PRINT" {DOWN}ACTIVATE ME
MORY MONITOR WITH SYS 5
1205"
QQ 119
SF 126
HG 136
sc 146
MC 156
Kenneth R. Warrick is a physician who
lives in Charleston, South Carolina.
CUBIC
By Stephen A. Bakke
Cubic is a logic puzzle for the 64, Itresem-
bles a brightly colored cube whose six
sides can be twisted to mix up the colors.
When the puzzle starts, the colors are
mixed randomly. The object of the puz-
zle is to maneuver the colored pieces so
that each side consists of but one of the
six colors.
Presenting six sides of a cube on-
screen at one time can be a problem. To
get around this difficulty, Cubic unfolds
the cube and displays the sides next to
one another on the screen.
Cubic is written in machine language.
To enter it, use MLX, our machine lan-
guage entry program. See “Typing
Aids" elsewhere in this section. When
MLX prompts, respond to the following
starting and ending addresses
Starting address: 0801
Ending address: OEE8
Be sure to save a copy of the program
before exiting MLX. Although Cubic is
written in machine language, it loads
and runs like a BASIC program. Oper-
ator input is controlled exclusively by a
joystick plugged into port 2.
Getting Started
The top screen line is Cubic's status
line. It displays the program name, num-
ber of turns taken, and the best score
achieved. Below it are six squares
that represent the sides of a cube.
Each square consists of 16 smaller
squares of various colors arranged in
four columns by four rows.
To solve the puzzle, swap rows and
columns of squares between the sides
of the cube until all squares within
each of the six sides contain a single
color. Columns run up and down and
are numbered 1 on the left through 4
on the right. Rows extend left and
right and are numbered 1 on the top
through 4 on the bottom.
The bottom screen line is used for op-
erator input. Four inputs are required to
exchange a row or column between
two sides of the cube. Push the joys-
tick left or right to highlight Row for row
or Col for column. Press the fire button
to enter your selection.
The next entry determines the row or
column. Push the joystick left or right to
change the row or column number.
Press the fire button when the desired
number is displayed.
Then select the cube number from
which the swap is desired and press
the fire button. Next, select the cube
number to which the swap is desired
and press the fire button again. The
swap will occur, the number of turns
will be incremented, and the bottom
line will clear in preparation for the
next move.
The puzzle is solved when each
cube contains only squares of the
same color. The screen will remain un-
changed while the border cycles
through various colors until you press
the fire button. After you press the but-
ton, the best score will be set, the num-
ber of turns will be reset, and the six
sides will be scrambled in preparation
for another game.
CUBIC
@861:0B
6869:31
GA
06
36
Ek
73
4c
CA
De
@831:8D
G839:G6A
0841:FB
G849:D8
9851:8E
GE
D6
Ag
68
G86
686
G871:GE
1E
oo
G879:A2
G881:91
@889:A2
@891:91
@899:A2
G8A1:86
@8A9:82
68B1:48
O8B9:EE
G8C1:A9
G@8C9:AA
08D1:06
G8D9:GE
G8E1:EC
@8E9:D0
O8F1:GE
G8F9:A9
6961:C9
G969:18
G911:26
@919:E8
@921:AD
0929:0E
6931:60
G939:GE
0941:CE
G949:26
6951:89
9959:7D
@961:8A
0969:48
G971:A6
0979:08
6981:69
G989:69
9991:CD
0999:F9
G9A1:69
@9A9:BD
G9B1L:F9
@9B9:AC
69C1:91
69C9:DE
99D1:65
09D9:69
@9E1:AD
G9E9:FD
G9F1:AD
G9F9:85
GAG1:FC
GAG9:348
GA11:GE
GA1LO:AA
GA21:CA
GA29: 28
GA31:AA
GA39:GA
GA41:29
GA49:26
GA51:EC
GAS9:CA
GA61:GE
GA69:5G
GA71:GE
@A79:8D
GA81:GE
GA89:CF
GA91:26
GA99:A8
GAAL:B1
GAA9:D3
@AB1:8D
GAB9:GA
GAC1:D8
@AC9:GE
@AD1:46
@AD9:6D
GAE1:GE
GAE9:65
GAF1:11
GAF9:GE
GBG1:AD
@BG9:D2
6B11:68
0B19:60
@B21:CA
@B29:07
0B31:66
9B39:6D
9B41:68
@B49:94
GBS1:F7
3B59:CA
9B61:DC
9B69:9R
@B71:D6
6B79:A2
OB81:EE
GB89:DG
0B91:30
@B99:4C
@BA1:GE
O@BA9:09
@BB1:68
@BB9:A9
@BC1:F7
GBC9:FG
@BD1:DC
@BD9: 26
@BE1:4C
GOBE9:GE
@BF1:D4
ORES: 26
OCO1:GE
@CG69:8D
@C1l1:7F
@C19:DE
GC21:69
6C29:GF
6C31:2E
6C39:CE
6C41:26
@C49:D5
@C51:8D
6C59:4B
9C61:D5
6C69:G6
O@C71:A2
GC79:A9
GC81:A9
GC89:91
@C91:DG
6C99:387
GOCAL:F7
GCA9:E7
GCB1:85
GCB9:A8
GCC1:E6
GCC9:6G
G@CD1:F8
AD
69
EG
GE
CE
AD
GE
GE
OF
18
DL
48
8D
oo
79
29
FO
EC
68
AF
ag
Ag
Bi:
FO
pc
20
4c
GE
CA
26
GE
8D
4B
DS
99
OF
36
CE
20
GE
AQ
17/
6B
G2
91
c2
8D
Cy)
co
16
@D
DS
G2
91
25
De
36
4c
o7
F7
F7
85
AB
E6
66
F8
86
cD
ag
Bl
@CD9:7F 91 F7 E6 F7 A6 F7 EG AE
GCE1:CD DG F2 60 AI G2 8D C9 B3
OCE9:GE AQ 58 8D CB GE 6G AY 3F
GCF1:56 8D C9 GE AO G2 8D CB EB
AQ 6G 48 AA BD B8 87
CD @E BD BE @E 8D B2
AS 66 8D C8 GE 20 GF
EE C8 GE 20 7D 69 67
@D 20 7D 89 20 33 37
7D 69 26 33 OD 68 5A
8A C9 66 DG CD 4c 1c
AQ GG 48 8D Dl BE 3D
G9 206 49 GD 68 AA 64
8A C9 68 DG ED 66 B7
AE Dl GE FO 68 Bl 9C
D3 GE D@ GF 6G AE 68
FO 63 4C 50 6D Bl 19
D3 GE 66 68 68 68 14
68 4C 29 G8 A2 GG 52
18 26 FO FF AE D6 22
G6 26 CD BD 60 A2 CF
26 18 20 FO FF AE BC
AI @6 20 CD BD 60 5C
D6 GE CD D7 GE BO 79
@D99:G3 8D D7 GE 64 20 91 BD 28
GDA1:A9 6G 8D D6 GE A2 18 AG 7B
26 FO FF A9 9C AG DE
1E AB AG G8 C8 CG BG
G2 AG G1 8C 26 DG AS
A2 FF 26 43 68 68 15
G9 DC 29 10 DO E6 83
8C 26 DG 4C 17 G8 BD
AG 6G A2 CD 86 F7 36
86 F8 91 F7 A2 D5 F6
91 F7 A2 DE 86 F7 8C
66 A9 BC 8D 18 D4 15
10 8D 65 D4 AY 8G DB
D4 A9 BA A2 GB 18 BD
E8 E9 GA DB FS 8D 59
AQ 25 8D GG D4 AD 2A
@4 D4 A2 14 26 43 DF
@6 8D 64 D4 8D G5 18
@6 D4 8D 66 D4 8D C4
8D 17 D4 8D 16 D4 B4
D4 66 G4 G4 G4 BE 48
@5 18 1B 65 19 1B Bl
DO CF D@ CF DO CF BO
@6 12 CC BA CC BA 41
CC BA 92 @@ 1E 43 E3
49 43 9F 26 26 26 F3
26 54 55 52 4E 53 CA
20 28 20 26 42 45 F6
286 26 26 26 60 52 2E
20 43 4F 4C 20 26 5F
46 52 4F 4D 26 28 BB
26 20 26 54 4F 26 DC
6G 58 52 45 53 53 74
49 52 45 26 54 4F 50
4C 41 59 26 41 47 9C
4E 2E 2E 2E 60 A5 3D
35 48 4B 2C 2C 2C 57
2E 68 G1 27 G1 G2 EE
GG 66 3B 2F G6 9G G5
@D GB GG GG DE G9 56
69 14 1F 63 63 63 38
GD GB GB BG BB GB 69
Steven Bakke writes puzzling pro-
grams in Aurora, Colorado. a)
AUGUST 1993 COMPUTE G-39
AUTOMATIC PROOFREADER
The Automatic Proofreader helps you
type in program listings for the 128 and
64 and prevents nearly every kind of
typing mistake.
Type in Proofreader exactly as list-
ed. Because the program can't check
itself, be sure to enter each line care-
fully to avoid typographical errors or oth-
er mistakes. Don't omit any lines, even
if they contain unusual commands. Af-
ter you've finished, save a copy of the
program before running it.
Next, type RUN and press Return. Af-
ter the program displays the message
Proofreader Active, you're ready to
type in a BASIC program.
Every time you finish typing a line
and press Return, Proofreader displays
a two-letter checksum in the upper left
corner of the screen. Compare this re-
sult with the two-letter checksum print-
ed to the left of the line in the program
listing. If the letters match, the line prob-
ably was typed correctly. If not, check
for your mistake and correct the line. Al-
so, be sure not to skip any lines.
Proofreader ignores spaces not en-
closed in quotation marks, so you can
omit or add spaces between keywords
and still see a matching checksum.
Spaces inside quotes are almost al-
ways significant, so the program pays
attention to them.
Proofreader does not accept key-
word abbreviations (for example, ? in-
stead of PRINT). If you use abbrevi-
ations, you can still check the line by
listing it, moving the cursor back to the
line, and pressing Return.
If you're using Proofreader on the
128, do not perform any GRAPHIC com-
mands while Proofreader is active.
When you perform a command like
GRAPHIC 1, the computer moves eve-
rything at the start of BASIC program
space—including the Proofreader—to
another memory area, causing Proof-
reader to crash. The same thing hap-
pens if you run any program with a
GRAPHIC command while Proofreader
is in memory.
Though Proofreader doesn't interfere
with other BASIC operations, it’s a
good idea to disable it before running
another program. To disable it, turn the
computer off and then on. A gentler
method is to SYS to the computer's
built-in reset routine (65341 for the 128,
64738 for the 64).
G-40 COMPUTE AUGUST 1993
AUTOMATIC PROOFREADER
6 CLR
1@ VE=PERK(772)+256*PEEK(773):
LO=43:HI=44: PRINT" {CLR}
{WHT }AUTOMATIC PROOFREADER
{SPACE}FOR ";
26 IF VE=42364 THEN PRINT "64"
36 IF VE=17165 THEN LO=45:HI=4
6:WAIT CLR: PRINT"128"
40 SA=(PEEK(LO)+256*PEEK (HI) ) +
6:FOR J=SA TO SA+166:READ B
:POKE J,B:CH=CH+B:NEXT
5@ IF CH<>20570 THEN PRINT "*E
RROR* CHECK TYPING IN DATA
{SPACE} STATEMENTS" : END
66 FOR J=1 TO 5:READ RF,LF,HF:
RS=SA+RF:HB=INT (RS/256) :LB=
RS- (256*HB)
76 CH=CH+RF+LF+HF:POKE SA+LF,L
B:POKE SA+HF,HB:NEXT
80 IF CH<>22054 THEN PRINT "*E
RROR* RELOAD PROGRAM AND CH
ECK FINAL LINE":END
98 IF VE=17165 THEN POKE SA+14
,22:POKE SA+18,23:POKESA+29
1224: POKESA+139, 224
100 POKE SA+149,PEEK(772) :POKE
SA+15@6, PEEK(773) : PRINT"
{CLR}PROOFREADER ACTIVE"
119 SYS SA:POKE HI,PEEK(HI)+1:
POKE (PEEK(LO)+256*PEEK (HI
))-1,0:NEW
129 DATA129,169,73,141,4,3,169
73,141,5,3,88,96,165, 20,13
3,167
130 DATA165,21,133,168,169,0,1
41,0,255,162,31,181,199,15
7,227
146 DATA3,202,16,248,169,19,32
7216,255,169,18,32,210,255
7166
156 DATAG,132,186,132,176,136,
236,1809,200,185,G,2,248,46
7201
160 DATA34,268,8,72,165,176,73
7255,133,176,104,72,201,32
1208
170 DATA7,165,176,208,3,104,26
Siaa orga neo ad ye Lee yd
5
180 DATA121,0,2,133,167,165,16
8,165,0,133,168,262,208,23
9,240
199 DATA202,165,167,69,168,72,
41,15,168,185,211,3,32,210
1255
200 DATA1@4,74,74,74,74,168,18
5,211,3,32,219,255,162,31,
189
216 DATA227,3,149,199,202,15,2
48,169,146,32,218,255,76,8
6,137
226 DATA65,66,67,68,69,70,71,7
2,74,75,77,80,81,82,83,88
230 DATA 13,2,7,167,31,32,151,
116,117,151,128,129,167,13
6,137 a
—
ONLY ON DISK
In addition to the type-in programs
found in each issue of the magazine,
Gazette Disk offers bonus programs.
This month we present three spread-
sheet templates that are ready to
load into SpeedCalc or GemCalc.
Bond Fund
By E.A Ramirez
Guaynabo, PR
There are several ways to determine
capital gains and losses for bond mu-
tual funds, but the most advanta-
geous to the taxpayer is by calculat-
ing the cumulative price per share
before each transaction. This template
does that. Its printout is suitable for
submission to the IRS as an adden-
dum to tax forms.
Mortgage Analyzer
Decision Maker
By Dave Pankhurst
Montreal, PQ
Canada
With Mortgage Analyzer, you can see
any year in the payback of a mort-
gage, check the balance owed, prin-
cipal and interest paid, total mortgage
cost, monthly payments, and more.
Having trouble making decisions?
With Decision Maker, your 64 can
help. List up to seven choices and the
advantages of each one. Assign each
advantage a numerical rating, and the
computer will do the rest.
Don't forget that Gazette Disk now con-
tains public domain programs and
shareware. For a complete rundown
of the PD programs on this month's
disk, see “PD Picks.”
You can have these programs and all
of the type-in programs found in this is-
sue—ready to load and run—by order-
ing the August Gazette Disk. The
price is $9.95 plus $2.00 shipping and
handling. Send your order to Gazette
Disk, COMPUTE Publications, 324
West Wendover Avenue, Suite 200,
Greensboro, North Carolina 27408.
You can order by credit card by call-
ing (919) 275-9809, extension 283.